Причина добавления слова Item заключается в следующем:
public enum KopRate
{
0,
13,
21,
56,
ts,
kp
}
Недопустимо для синтаксиса C #. Обходной путь для сохранения WSDL в состоянии десериализации возможных значений состоит в добавлении буквы или чего-либо в качестве префикса. В этом случае слово «Товар».
Если у вас есть контроль над WSDL, рекомендуется изменить значения перечисления в соответствии с соглашениями о присвоении имен.
Если вы не имеете контроль над WSDL. Вы всегда можете изменить перечисление по своему усмотрению, но сохраняя атрибут XMLEnum, чтобы процесс десериализации работал правильно.
например:.
namespace TestNmsp
{
[GeneratedCode("System.Xml", "4.0.30319.1")]
[XmlType(Namespace = "http://www.kop.com/test/schema")]
[Serializable]
public enum KopRate
{
[XmlEnum("0")] Rate0,
[XmlEnum("13")] Rate13,
[XmlEnum("21")] Rate21,
[XmlEnum("56")] Rate56,
ts,
kp,
}
}
Имейте в виду, что если вы восстановите прокси, вы потеряете это изменение.
С уважением,