¿Cómo uso enumeraciones con XML-RPC y C #?
-
11-07-2019 - |
Pregunta
Estoy usando el marco de trabajo XMLRPC de Cook Computing en C #. Estoy llamando a una función remota que espera un int. Quiero usar una enumeración en el código del cliente en lugar de simplemente llamar a la función con los dígitos codificados en los parámetros de la función.
El código se compila correctamente, pero durante la prueba se arroja una XmlRpcUnsupportedTypeException. El mensaje indica que mi enumeración no se puede asignar a un tipo XML-RPC. La enumeración es la siguiente:
public enum Codes : int
{
Installed = 903,
}
¡Tengo la sensación de que hay algo simple que estoy pasando por alto, pero no puedo señalarlo, así que estoy aquí haciendo brillar mi señal de Bat en las nubes!
Solución
¿intentaste el casting explícito? (int) instalado
MSDN:
El tipo subyacente especifica cuánto el almacenamiento se asigna para cada enumerador Sin embargo, un elenco explícito es necesario convertir de tipo enum a un tipo integral. Por ejemplo, el siguiente declaración asigna el enumerador Sun a una variable de la escriba int utilizando un elenco para convertir de enum a int:
int x = (int) Days.Sun;
Otros consejos
Debe emitirlo explícitamente a un int:
int code = Codes.Installed; // doesn't work.
int code = (int) Codes.Installed; // works.