在WCF datacontract中公开扩展方法

时间:2011-12-16 01:54:39

标签: .net wcf wcf-client

是否可以在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;
}

在客户类中有一个深层复制方法。我如何向客户公开这个?

2 个答案:

答案 0 :(得分:2)

不,您只能在WCF DataContract中公开属性,而不是方法。

答案 1 :(得分:1)

您几乎可以使用“重用类型”功能执行此操作。不幸的是,它只允许重用服务实际使用的类型作为输入或输出参数。保存扩展方法的类将是一个静态类,因此不会显示为输入参数或返回类型。