Как мне использовать перечисления с XML-RPC и C #?
-
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.