Как использовать перечисления с XML-RPC и C #? - PullRequest
1 голос
/ 12 марта 2009

Я использую платформу Cook Computing XMLRPC в C #. Я вызываю удаленную функцию, которая ожидает int. Я хочу использовать перечисление в клиентском коде, а не просто вызывать функцию с цифрами, жестко закодированными в параметрах функции.

Код успешно компилируется, но во время тестирования исключение XmlRpcUnsupportedTypeException - throw. В сообщении говорится, что мое перечисление не может быть сопоставлено с типом XML-RPC. Перечисление выглядит следующим образом:

public enum Codes : int
{
    Installed = 903,
}

У меня такое чувство, что я что-то упускаю из виду, но не могу понять, как я, поэтому я посылаю свой сигнал летучей мыши в облака!

Ответы [ 2 ]

2 голосов
/ 12 марта 2009

Вы должны явно привести его к типу int:

int code = Codes.Installed; // doesn't work.
int code = (int) Codes.Installed; // works.
2 голосов
/ 12 марта 2009

пробовал явное приведение? (INT) установлен

MSDN:

Базовый тип указывает, сколько память выделяется для каждого переписчик. Тем не менее, явное приведение необходимо конвертировать из типа enum к интегральному типу. Например, Следующее утверждение присваивает Перечислитель Sun к переменной введите int, используя преобразование для преобразования от enum до int:

int x = (int) Days.Sun;

...