J'ai fait la déclaration suivante:C# initialisation explicite pour Enum
private Enum _statusValue;
Ce que je voudrais vraiment dire est:
private Enum _statusValue = 0;
même si je sais qu'il est redondant. C'est juste que j'aime spécifier explicitement l'initialisation.
Mais ce n'est pas autorisé.
Existe-t-il un moyen simple de spécifier l'initialisation sur ce type de déclaration?
EDIT - Laissez-moi essayer à nouveau.
Voici un exemple simplifié/simplifié de ce que je fais. Donc, ma question est: est-ce que je peux ajouter un initialiseur générique à cette déclaration? Oui.
public Enum StatusValue;
EDIT SECOND:
Jamais esprit, je l'ai découvert l'erreur de mes moyens, grâce à cette annonce:
How to convert from System.Enum to base integer?
La phrase clé, ce qui m'a fait réaliser ce que je faisait mal, est-ce: "les énumérations sont des types de valeurs (et représentées en interne uniquement par des constantes entières) alors que System.Enum est un type de référence".
Je ne veux pas dire ceci:
private Enum _statusValue = 0;
Je veux dire, ce qui est parfaitement valide:
private Enum _statusValue = null;
Merci à ceux qui ont essayé d'aider.
'private Enum _statusValue' est une définition de type. Vous ne pouvez pas initialiser une définition de type. –
Je ne pense pas que ce soit correct. N'est-ce pas une définition de champ? Cela fonctionne comme une définition de champ - je peux lui assigner une valeur en utilisant une autre énumération, et en extraire la valeur à l'aide d'un cast. – RenniePet
@RenniePet: vous pouvez répondre à votre propre question, puis l'accepter. De cette façon, cette question se ferme. – dvdvorle