我遇到了序列化问题.我的Silverlight应用程序不期望我的某个属性在业务对象中,并且不知道如何处理它.以前我通过设置一个类似下面的例子的KnownTypeAttribute来解决这个问题,但在这种情况下它不起作用.
我曾经这样解决过:
[DataContract(Name = "baseClass")]
public class baseClass { }
[DataContract(Name = "busObj1")]
public class busObj1 : baseClass { }
[DataContract(Name = "busObj2")]
[KnownType(typeof(busObj1))]
public class busObj2 : baseClass
{
public busObj1 myObj { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
唯一的区别是我的结构略有不同,如下所示:
[DataContract(Name = "baseClass")]
public class baseClass { }
[DataContract(Name = "busObj1")]
public class busObj1 : baseClass { }
[DataContract(Name = "busObj2")]
[KnownType(typeof(busObj1))]
public class busObj2 : baseClass
{
public busObj1 myObj { get; set; }
}
// This is the class …Run Code Online (Sandbox Code Playgroud)