鉴于我有一个完全动态的对象模型,也就是说,我没有在代码中的任何地方定义具体的类,但我仍然希望能够为它们创建WCF DataContracts,以便我可以在操作中使用它们。我怎样才能做到这一点?
我的具体类“Entity”实现了ICustomTypeDescriptor,它用于向外界呈现各种属性,但我对WCF的开发表明WCF并不关心ICustomTypeDescriptor。这是正确的还是我错过了什么?
这可能吗?创建一个DataContract的唯一方法就是实际拥有一个具体的harcoded类,不是吗?可以吗?
答案 0 :(得分:0)
您可以使用无类型服务和邮件合同IIRC http://geekswithblogs.net/claeyskurt/archive/2008/09/24/125430.aspx
答案 1 :(得分:0)
您可以尝试System.Reflection.Emit。
它非常棘手,但基本上你只需构建一个自定义的运行时类型,其中包含装饰数据契约属性。使用PropertyChanged通知创建封装属性时会很棘手,但在服务层中,您可以轻松使用更容易的自动属性。
这个过时的,但仍然非常相关的链接应该让你朝着正确的方向前进。 http://drdobbs.com/184416570
答案 2 :(得分:0)
事情发展:-)感谢Alex D James的excellent blog series很容易实现这一点。