2
使用以下代码,XmlSerializer
抛出一个异常,因为Foo
包含两个属性,它们与枚举EnumSameName
的名称相同。XmlSerializer在枚举上抛出异常
按预期工作框架.NET 4.0
public class Bar1
{
public enum EnumSameName
{
a
}
public EnumSameName MyBar1Enum { get; set; }
}
public class Bar2
{
public enum EnumSameName
{
b
}
public EnumSameName MyBar2Enum { get; set; }
}
public class Foo
{
public Foo()
{
MyEnum1 = new Bar1();
MyEnum2 = new Bar2();
}
public Bar1 MyEnum1 { get; set; }
public Bar2 MyEnum2 { get; set; }
}
现在尝试序列Foo
var parameter = new Foo();
var serializer = new XmlSerializer(parameter.GetType());
// ERROR System.InvalidOperationException: [...]
重命名EnumSameName
一切之一后。
这个错误来自哪里?