[TestFixture]
public class XmlIgnoreWithNewModifierTest
{
public class Parent
{
public int Name { get; set; }
}
public class Child : Parent
{
[XmlIgnore]
public new int Name
{
get { throw new NotImplementedException(); }
}
}
[Test]
public void Test()
{
var serializer = new XmlSerializer(typeof(Child));
var stream = new MemoryStream();
// Throws
serializer.Serialize(stream, new Child());
}
}
La dernière ligne de code jetterait InvalidOperationException
avec un NotImplementedException
intérieur. Rendre Parent.Name
virtual et Child.Name
override n'aide pas.C# - XmlIgnore ne fonctionne pas avec priorité ou nouveau modificateur
Je me demande s'il est possible de faire que XmlIgnore ne fonctionne que sur Child.Name
mais pas Parent.Name
?