C#:嵌套类的命名约定和正确的实现?

时间:2011-03-25 10:42:00

标签: c# oop nested-class

我想知道是否有人可以告诉我是否有命名“具体”类和实例的标准..

例如,

。我目前有一个名为Test的类,它的实例也称为Test。我认为这很糟糕。

是否有某种标准来命名具体类及其实例..实例需要是Test但具体我不知道该怎么做它的名称TestConcrete?

微软在这种情况下做了什么?

基本上,具体类只能在Product类中使用以支持嵌套类..它永远不会从外部实例化。

这是我的班级..我认为我这样做是正确的吗?我在Product的构造函数中创建了Test的实例。

任何帮助真的很感激,我不想养成坏习惯而且我会做很多这些....而且测试(具体)和测试(实例)可能是一个坏主意!< / p>

public class Product    {
    public int Id { get; set; }

    private Test Test { get; set; }


    public Product()
    {
        Test = new Test();
    }
}

2 个答案:

答案 0 :(得分:4)

这不是没有先例,我想你可以找到

  Color  Color { get; set; } 

在图书馆,还有一些更像。

但最好的方法是考虑更具体的名称,即域驱动。像

这样的东西
  private Test TestResults { get; set; }

  private TestData  Test { get; set; }

答案 1 :(得分:1)

这些是我的指南:

public abstract class Test
{
    public void FooBar() // Method, capitalization, PascalCase
    {
         Person fatherFigure = new Person(); // Class instance, lowercase first letter, camelcase rest.

    }

    public string Name {get; set; } // Property, capitalization, PascalCase

    private string PrivateName {set; set; } // Private property, capitalization, camelcase

    public string someField; // Field, lowercase first letter, camelcase

    private string _someField; // Private member, prefix with _
}

这些只是我自己的意见。 :)