2009-03-12 7 views
1

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

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

public enum Codes : int 
{ 
    Installed = 903, 
} 

J'ai le sentiment il y a quelque chose de simple je donne sur, mais ne peut pas mettre mon doigt dessus donc je brille ici mon signal de chauve-souris dans les nuages!

+0

... et la réponse montre qu'il était bien simple. D'oh! –

Répondre

2

essayé explicite casting? (int) installé

MSDN:

Le type sous-jacent spécifie comment le stockage beaucoup est alloué pour chaque recenseur. Cependant, une conversion explicite est nécessaire pour convertir le type enum en type intégral. Par exemple, l'instruction suivante affecte le recenseur Sun à une variable du type int en utilisant un cast pour convertir de ENUM int:

int x = (int) Days.Sun;

2

Vous avez de jeter explicitement à un int:

int code = Codes.Installed; // doesn't work. 
int code = (int) Codes.Installed; // works.