【发布时间】:2013-04-19 16:07:22
【问题描述】:
是否有一种普遍接受的方法来避免在 WCF 服务上使用 KnownType 属性?我一直在做一些研究,看起来有两种选择:
我不喜欢每次添加新类型时都必须静态添加 KnownType 属性,因此想避免它。
是否应该使用第三个选项?如果是这样,它是什么?如果不是,以上两个选项中哪个是正确的选择?
编辑 - 使用方法
第三种选择是使用反射
[DataContract]
[KnownType("DerivedTypes")]
public abstract class FooBase
{
private static Type[] DerivedTypes()
{
return typeof(FooBase).GetDerivedTypes(Assembly.GetExecutingAssembly()).ToArray();
}
}
【问题讨论】:
标签: c# wcf datacontract known-types