Почему XmlSerializer
сериализует ВСЕ из Car
при сериализации ICar
?.. вместо просто сериализации A
из ICar
?
я нахожу это странным, потому что когда я смотрю это в отладчике, icars
содержит только A
, но test.xml
имеет A
B
и C
.
Пример кода:
//IMPLEMENTATION
Cars cars = new Cars();
ICars icars = cars;
var iXmls = new XmlSerializer(typeof(Cars));
using (TextWriter iTw = new StreamWriter("test.xml"))
{
iXmls.Serialize(iTw, icar);
}
//CLASS
[XmlRootAttribute("Cars")]
public class Cars : ICar
{
private string _A = "Car A";
private string _B = "Car B";
private string _C = "Car C";
public string A { /* get.. set.. */}
public string B { /* get.. set.. */}
public string C { /* get.. set.. */}
}
//INTERFACE
public interface ICars
{
string A;
}
Результаты XML:
<Cars>
<A>Car A</A>
<B>Car B</B>
<C>Car C</C>
<Cars>
Ожидал получить это (но не получил):
<Cars>
<A>Car A</A>
<Cars>