服务参考中的泛型

时间:2016-06-24 14:42:51

标签: c# wcf generics

我有一个WCF,其方法返回一类像这样的泛型

public class Response<TOutputContract> 
{        
    public TOutputContract Output { get; set; }

    public bool Status { get; set; }
}

我有一个带有该WCF服务参考的项目。 当我尝试更新服务引用时,visual studio会创建另一个没有泛型的类。

public class ResponseTOutputContract
{        
    public TOutputContract Output { get; set; }

    public bool Status { get; set; }
}

如何在服务中生成相同的类(使用通用)?

1 个答案:

答案 0 :(得分:0)

您的[DataContract]必须公开通用:

[DataContract]
public class GenericSample<TGeneric>
{
     private TGeneric id;

     [DataMember]
     public TGeneric Id 
     {
          get { return id; }
          set { id = value; }
     }
}

我们在概述了DataContract后,您将实施ServiceContract

[ServiceContract]
public interface IBoundGeneric
{
     [OperationContract]
     GenericSample<int> GetObject(int id);
}

您可以在此处指定类型,因此根据您的实施情况,DataContract的结构会有所不同。