2009-03-12 6 views
1

Ich benutze das Cook Computing XMLRPC-Framework in C#. Ich rufe eine Remote-Funktion an, die int erwartet. Ich möchte eine Aufzählung im Client-Code verwenden, anstatt die Funktion nur mit den in den Funktionsparametern fest codierten Ziffern aufzurufen.Wie verwende ich Aufzählungen mit XML-RPC und C#?

Der Code wird erfolgreich kompiliert, aber während des Testens wird eine XmlRpcUnsupportedTypeException ausgelöst. Die Nachricht besagt, dass meine Aufzählung nicht einem XML-RPC-Typ zugeordnet werden kann. Die ENUM ist wie folgt:

public enum Codes : int 
{ 
    Installed = 903, 
} 

Ich habe das Gefühl, es ist etwas einfach ich bin mit Blick auf, kann aber nicht meinen Finger auf sie setzen, so bin ich mein Bat-Signal in die Wolken hier scheint!

+0

... und die Antwort zeigt es in der Tat einfach war. Oh! –

Antwort

2

versucht ausdrückliches Gießen? (int) Installierte

MSDN:

den zugrunde liegenden Typ gibt an, wie viel Speicher für jeden Enumerator zugeordnet ist. Es ist jedoch eine explizite Umwandlung erforderlich, um vom Enum-Typ in einen integrierten Typ zu konvertieren. Zum Beispiel weist die folgende Anweisung die Enumerator Sun auf eine Variable des Typs int durch einen eingegossenen unter Verwendung von ENUM zu konvertieren INT:

int x = (int) Days.Sun;

2

Sie haben explizit in einen int werfen:

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