XML序列化继承类时出现InvalidOperationException

Nic*_*ick 4 .net xml serialization

我有一个问题,将ac#class序列化为具有基类的XML文件...这是一个简单的例子:

namespace Domain
{
   [Serializable]
   public class ClassA
   {
      public virtual int MyProperty
      {
         get; set;
      }
   }
}

namespace Derived
{
   public class ClassA : Domain.ClassA
   {
      public override int MyProperty
      {
         get { return 1; } set { /* Do Nothing */ }
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试序列化Derived.ClassA的实例时,我收到以下异常:

InvalidOperationException(Types'Domain.ClassA'和'Derived.ClassA'都使用XML类型名称'ClassA',来自命名空间".使用XML属性为该类型指定唯一的XML名称和/或命名空间.)

问题是我想创建一个简单定义XML文件结构的基类,然后允许其他任何人从该类派生以插入业务规则,但格式化将来自基础.

这是可能的,如果是这样,我如何归属基类来允许这个?

小智 5

这对我们起了作用.

[XmlType(TypeName = "DerivedClassA")] 
Run Code Online (Sandbox Code Playgroud)