title: C#: Naming convention for Nested classes, and proper implementation?
body: <p>I wonder if there is a standard for naming the "concrete" class and the instance.</p>
  
  <p>For example, I have currently a class called Test and its instance is called is called Test as well. I think this is bad.</p>
  
  <p>Is there some sort of standard to name the concrete class and its instance? The instance needs to be Test but the concrete I have no idea what to do; name it TestConcrete?</p>
  
  <p>What does Microsoft do in this situation?</p>
  
  <p>Basically the concrete class is ONLY for use in the Product class to support Nested classes, it will never be instantiated from outside.</p>
  
  <p>Here is my class. I presume I am doing this correct? I am creating the instance of Test inside the constructor of Product.</p>
  
  <p>I don't want to get into bad habits and I am going to be doing a lot of these, and Test (concrete) and Test (instance) is probably a bad idea!</p>
  
  <pre><code>public class Product    {
      public int Id { get; set; }
  
      private Test Test { get; set; }
  
  
      public Product()
      {
          Test = new Test();
      }
  }
  </code></pre>