2011-12-01 69 views
2

提供具有“Generic”参数的WCF调用的推荐方式是什么......就像这样。WCF调用需要接收一个GENERIC参数,该参数可以接收不同“类型”的列表

[ServiceContract] 
public interface IDbSync 
{ 
    [OperationContract] 
    void UploadTable(Data<T> table); 
} 

...其中
一个客户端可能上传Data<User_Entity>
另一个客户端可能使用同样的程序调用

是上传Data<Address_Entity>

......所有这可能与泛型或我应该创建一个OperationContract x列表??

回答

2

不可能拥有采用开放式泛型类型的方法。您可以拥有采用封闭泛型类型的方法。

如果你想在你的WCF方法重载,你应该确保操作名称是唯一的(通过使用[OperationContract(Name=...)]属性)

+0

所以你说,我唯一可以做的事情与命名玩但从概念上讲,我需要编写一个程序x列表。是对的吗 ? –

+0

是的。不可能拥有一个泛型参数,但是您可以拥有所有List 方法并使用重载,因此只要您提供所有可能的重载,最终用户就不会看到差异(也许使用T4创建它们? ) –

+0

我正在写客户端..所以也许没有太多的问题。你知道一个很好的T4教程吗? –

相关问题