Lors de l'utilisation d'une classe qui a un enum propriété, on obtient généralement un nom conflit entre le nom de la propriété et de type enum. Exemple:
enum Day{ Monday, Tuesday, ... }
class MyDateClass
{
private Day day;
public Day Day{ get{ return day; } }
}
Puisque seuls les drapeaux des enums devrait avoir pluriel des noms, noms enum "Jours" n'est pas la voie à suivre pour un non-drapeau de l'enum. Dans l'exemple ci-dessus, vous pourriez utiliser une variante comme "la Semaine", soit l'enum ou de la propriété. Mais dans le cas général, il n'y a pas de bonnes variations, alors vous vous retrouvez à l'aide des propriétés comme "FooMode" ou "BarKind" pour un objet avec enum propriétés de Foo et Bar type. Pas très élégante.
Comment avez-vous l'habitude nom des énumérations et des propriétés dans ce scénario?
Merci pour les réponses rapides. Une autre question: pourquoi n'est-il pas recommandé de nid public enum, et comment pensez-vous résoudre le nommage des questions si vous voulez nid public enum?
class Vehicle
{
enum Kind{ Car, Bike }
public Kind Kind{ get{ return ... } }
}
class Meal
{
enum Kind{ Dessert, MainCourse }
public Kind Kind{ get{ return ... } }
}
Dans le scénario ci-dessus, étant donné que les Repas et le Véhicule de partager le même espace de noms, je ne peux pas bouger "Genre" à l'extérieur de l'une des classes sans le renommer MealKind et VehicleKind respectivement. J'aime le look de
myVehicle.Kind = Vehicle.Kind.Car
Mais ce n'est pas ce que les lignes directrices recommandent. Quelle serait la meilleure pratique ici? Ne jamais utiliser imbriquée public enums et au lieu de les nommer VehicleKind etc.?