Je suis en train de créer un switch
déclaration à l'aide de l'indice de char d'une chaîne et d'un Enum à l'aide de ce wrapper pour obtenir la valeur de la sélection enum à partir d'une Description. Il vous permet de stocker une chaîne de caractères à une valeur d'enum.
Voici mon if
déclaration:
if (msgComingFromFoo[1] == Convert.ToChar(Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()))
{
//foo
}
et voici mon switch
déclaration:
switch (msgComingFromFoo[1])
{
case Convert.ToChar(Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()):
break;
}
Pourquoi est-il accepter l' if
déclaration et de ne pas l' switch
? J'ai essayé de le convertir à un char depuis que je suis la sélection d'un index à partir d'une chaîne de caractères, mais malheureusement il ne fonctionne pas.
Mise à jour:
Voici l' Message.Code
Enum
public class Message
{
public enum Code
{
[Description("A")]
FOO_TRIGGER_SIGNAL
}
}
Comme vous pouvez le voir, j'ai besoin de la Description affecté à l'enum pas la valeur d'enum qui est de 0. À l'aide de Message.Code.FOO_TRIGGER_SIGNAL.EnumDescriptionToString()
de la mentionnée wrapper retours A
pas 0
Erreur:
Une Valeur Constante Qui Est Attendu