在多个Web服务方法中调用一个常用方法并使用泛型方法

时间:2013-01-06 15:40:58

标签: c#

我最近问了一个关于在C#中调用泛型类型的方法的问题:calling method in template in C#

我遇到的问题是我无法操纵我想要为其创建通用函数的类型。类型是具有相同方法的一些Web服务的SoapClients。有没有任何解决方案可以让我避免复制代码?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你有几种你无法改变的类型,它们不共享任何接口但有一些共同的方法。并且您希望编写一个方法来为任何类型调用此常用方法。

要做到这一点,我认为你有两个选择:

  1. 为每个类创建一个包装器,它实现了一个通用接口。然后,您将在方法中使用该接口,并将包装器作为参数提供。
  2. 使用dynamic调用该方法。使用dynamic,您不必实现任何接口,但这也意味着您将丢失所有编译时类型检查(和自动完成)。
相关问题