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

StackOverflow https://stackoverflow.com/questions/638799

  •  11-07-2019
  •  | 
  •  

Вопрос

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

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

public enum Codes : int
{
    Installed = 903,
}

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

Это было полезно?

Решение

пробовали явный кастинг?(int)Установленный

MSDN:

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

int x = (int)Дней.Солнце;

Другие советы

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

int code = Codes.Installed; // doesn't work.
int code = (int) Codes.Installed; // works.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top