Допустим, у меня есть объект только с тремя свойствами:
using RestSharp.Deserializers;
using System;
[DeserializeAs(Name = "item")]
public class MyClass
{
public int Id { get; set; }
public string Name { get; set; }
[DeserializeAs(Name = "id")]
public int IdFromAPI { get; set; }
}
и таким XML:
<List>
<timestamp>2018-09-20T10:18:14.070</timestamp>
<contents>
<item>
<id>1</id>
<name>object1</name>
</item>
<item>
<id>2</id>
<name>object2</name>
</item>
</contents>
<count>2</count>
</List>
Я получаю данные, используя RestRequest (Method.GET) идесериализовать их используя
RestClient client = new RestClient("SomeURI");
RestRequest request = new RestRequest("someResource", Method.GET);
request.AddHeader(...)
...
List<MyClass> myClassList = client.Execute<List<MyClass>>(request)?.Data;
мне нужно из XML в
- map id элемент в свойство IdFromAPI (работает)
- map name element to property Name (работает)
- property Id игнорируется и сохраняет значение по умолчанию 0 *
Все работает нормально, но Id и IdFromAPI получают одно и то же значение (из элемента id).
Как я могу игнорировать свойство Id?
[NonSerialized] действительно только для объявлений полей, но не для свойств.Я не могу найти [XmlIgnore] в библиотеке RestSharp, а [System.Xml.Serialization.XmlIgnore] не работает с десериализацией RestSharp.(В крайнем случае я могу использовать другой десериализатор)
Информация: я нахожусь на .NET Framework 4 и версии RestSharp 105.2.3