2011-12-16 96 views
1

是否可以在WCF中的数据协定的对象上公开扩展方法?在WCF datacontract中公开扩展方法

下面是一个例子:

[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; 
} 

在客户类有深拷贝方法。我如何将这件事公开给客户?

+0

你能提供更多关于你在找什么的信息吗?您是否想为特定类型,数据合同创建扩展方法,或者以某种方式通过电缆获取扩展方法? – scmccart 2011-12-16 02:55:42

回答

2

不行,你只能暴露在WCF DataContract属性,而不是方法。

1

你几乎可以做到这一点使用“重用类型”功能。不幸的是,对于你的情况,它只允许重用服务实际使用的类型作为输入或输出参数。持有扩展方法的类将是一个静态类,因此不会显示为输入参数或返回类型。