【发布时间】:2010-09-02 23:52:45
【问题描述】:
我有几个这样的数据协定类:
[DataContract]
public class FooData
{
[DataMember]
public string Name;
// ... many more members
public FooData (string name) // again, many more arguments
{
Name = name;
// ...
}
}
由于FooData 始终用于通过网络传输Foo 对象,我想添加一个构造函数,该构造函数接受一个 Foo 对象并相应地设置所有字段,而不是手动进行 (new FooData (myFoo.Name))。
但是,这将要求 FooData 的用户包含 Foo 类型,该类型应该是服务器内部的。通常,这个问题可以通过使构造函数采用内部的 Foo 来解决,但在我的情况下,FooData 与 Foo 位于不同的程序集中。
我应该如何处理这个问题?到目前为止,我的想法包括使用接口而不是类来传输数据,或者使用“扩展构造函数”。有更好的想法吗?
【问题讨论】:
标签: wcf architecture datacontract