小编Cla*_*las的帖子

序列化不接受我的KnownTypeAttribute,为什么?

我遇到了序列化问题.我的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)

.net c# wcf serialization

1
推荐指数
1
解决办法
607
查看次数

标签 统计

.net ×1

c# ×1

serialization ×1

wcf ×1