C #: Соглашение об именах для вложенных классов и правильная реализация? - PullRequest
1 голос
/ 25 марта 2011

Интересно, может ли кто-нибудь сказать мне, существует ли стандарт для именования "конкретного" класса и экземпляра ..

, например.В настоящее время у меня есть класс с именем Test, и его экземпляр называется также Test.Я думаю, что это плохо.

Есть ли какой-то стандарт для именования конкретного класса и его экземпляра ... Экземпляр должен быть Test, но конкретный, я не знаю, как его назвать TestConcrete?

Что делает Microsoft в этой ситуации ??

В основном конкретный класс предназначен ТОЛЬКО для использования в классе Product для поддержки вложенных классов ... он никогда не будет создан снаружи.

Вот мой класс ... я предполагаю, что я делаю это правильно? Я создаю экземпляр Test внутри конструктора Product.

Любая помощь действительно ценится, я не хочу впадать в вредные привычкии я собираюсь делать много из них .... и Test (конкретный) и Test (экземпляр), вероятно, плохая идея!

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

    private Test Test { get; set; }


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

Ответы [ 2 ]

4 голосов
/ 25 марта 2011

Это не без прецедента, я думаю, вы можете найти

  Color  Color { get; set; } 

в библиотеке, и некоторые другие подобные.

Но лучший способ обойти это - придумать более конкретное имя, управляемое Доменом.Что-то вроде

  private Test TestResults { get; set; }

или

  private TestData  Test { get; set; }
1 голос
/ 25 марта 2011

Это мои рекомендации:

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 _
}

Это только мои собственные мнения.:)

...