Question

J'utilise le framework XMLRPC de Cook Computing en C #. J'appelle une fonction distante qui attend un int. Je souhaite utiliser une énumération dans le code client au lieu d'appeler simplement la fonction avec les chiffres codés en dur dans les paramètres de la fonction.

Le code est compilé avec succès, mais lors du test, une exception XmlRpcUnsupportedTypeException est levée. Le message indique que mon énumération ne peut pas être mappée sur un type XML-RPC. L'énumération est la suivante:

public enum Codes : int
{
    Installed = 903,
}

J'ai l'impression qu'il y a quelque chose de simple que je néglige, mais que je ne peux pas mettre le doigt dessus, alors je fais briller mon signal de chauve-souris dans les nuages!

Était-ce utile?

La solution

essayé le casting explicite? (int) installé

MSDN:

  

Le type sous-jacent spécifie combien   le stockage est alloué pour chaque   énumérateur. Cependant, une distribution explicite   est nécessaire pour convertir du type enum   à un type intégral. Par exemple, le   déclaration suivante assigne la   énumérateur Sun à une variable du   tapez int en utilisant un cast pour convertir   d'enum à int:

     

int x = (int) Days.Sun;

Autres conseils

Vous devez explicitement le convertir en int:

int code = Codes.Installed; // doesn't work.
int code = (int) Codes.Installed; // works.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top