【发布时间】:2011-12-16 01:54:38
【问题描述】:
是否可以在 WCF 中的数据协定对象上公开扩展方法?
这是一个例子:
[DataContract]
public class Customer
{
[DataMember]
public int ID { get; set; }
[DataMember]
public string FirstName { get; set; }
[DataMember]
public Product CurrentProduct { get; set; }
public Customer DeepCopy()
{
//Do Something else. For example just return a new instance
return new Customer();
}
}
[DataContract]
public class Product
{
[DataMember]
public int ID;
[DataMember]
public int Name;
}
在客户类中有一个深拷贝方法。我如何将其公开给客户?
【问题讨论】:
-
你能提供更多关于你正在寻找什么的信息吗?您是想为特定类型、一般数据协定创建扩展方法,还是想通过网络获取扩展方法?
-
如何显示您想要扩展的内容,也许答案将是如何在不尝试扩展序列化类型的情况下实现它。
-
你为什么需要它?如果客户需要,为什么不让客户新建客户,但实际上,由于这是 WCF,客户将由服务创建并提供给客户,反之亦然。为什么需要 DataContract 来执行此操作?
-
@Mark W。我不想在 deepCopy 中创建新的。泰国只是为了展示我这样做的一个例子。假设我正在做一些反射并将成员复制到一个新对象,然后返回该对象。
-
如果我的回答有用,请将其标记为已接受,谢谢。
标签: .net wcf wcf-client