2010-12-10 6 views
0

In den folgenden erfundenen C# -Code, mag ich nicht, dass ein Enum-Name der gleiche wie der Name der Eigenschaft ist.So benennen Sie Enums im Vergleich zu Eigenschaften

public enum CollarType 
{ 
    Classic, 
    VNeck 
} 

public class Shirt 
{ 
    public CollarType CollarType { get ... } 
} 

In den alten Tagen, wenn mehr Leute wie class CShirt verwendet haben ungarisch/andere bizarre Namensgebung, diese Art von Konflikt ist nicht geschehen. Aber heute laufe ich ständig darauf.

Wie gehen Sie mit dieser Situation um? Lebst du einfach mit der Tatsache, dass so viele Dinge denselben Namen haben, oder hast du ein besseres Namensschema?

+1

Duplizieren: http://stackoverflow.com/questions/495051/c-naming-convention-for-enum-and-matching-property – wj32

+1

Dies kompiliert gut, und es ist ein allgemeines Muster in .NET Framework. Was magst du nicht daran? –

Antwort

1

Die einzige Einschränkung, dass der enum-Name mit dem Eigenschaftsnamen identisch ist, besteht darin, dass Sie die enum nicht als verschachtelten Typ der Klasse mit der Eigenschaft definieren können.

z. dies tut nicht Arbeit:

public class Shirt 
{ 
    public enum CollarType 
    { 
     Classic, 
     VNeck 
    } 

    public CollarType CollarType { get ... } 
} 

jedoch auf der positiven Seite, macht es den Code besser lesbar IMHO machen, weil es klar < die Zuordnung zwischen dem ENUM-Wert zeigt, und die Eigenschaft:

myShirt.CollarType = CollarType.Classic; 
+0

+1 für ein Beispiel zeigt – Tony

+0

BTW, das ist genau die Situation, die die Frage ausgelöst. – tenfour

1

Die Konvention in der BCL ist nur damit zu laufen. Mit Ausnahme von nested enums verursacht es keine Unklarheiten.

1

Ja, es ist absolut normal, eine Eigenschaft mit dem gleichen Namen wie den Typnamen zu haben.

Verwandte Themen