Domanda

Sto usando il framework XMLRPC di Cook Computing in C #. Sto chiamando una funzione remota che prevede un int. Voglio usare un'enumerazione nel codice client invece di chiamare semplicemente la funzione con le cifre hardcoded nei parametri della funzione.

Il codice viene compilato correttamente, ma durante il test viene generata una XmlRpcUnsupportedTypeException. Il messaggio afferma che la mia enumerazione non può essere mappata su un tipo XML-RPC. L'enum è il seguente:

public enum Codes : int
{
    Installed = 903,
}

Ho la sensazione che ci sia qualcosa di semplice che sto trascurando, ma non riesco a metterci il dito, quindi sono qui a far brillare il mio segnale Bat tra le nuvole!

È stato utile?

Soluzione

hai provato il casting esplicito? (Int) installata

MSDN:

  

Il tipo sottostante specifica quanto   l'archiviazione è allocata per ciascuno   enumeratore. Tuttavia, un cast esplicito   è necessario convertire dal tipo enum   a un tipo integrale. Ad esempio, il   la seguente istruzione assegna il   enumeratore Sun in una variabile di   digita int usando un cast per convertire   da enum a int:

     

int x = (int) Days.Sun;

Altri suggerimenti

Devi esplicitamente lanciarlo in un int:

int code = Codes.Installed; // doesn't work.
int code = (int) Codes.Installed; // works.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top