数据合同中的扩展方法

时间:2011-04-21 11:52:20

标签: wcf

我们可以使用两个WCF服务,其中一个服务契约派生自另一个服务契约,并且在派生契约中具有扩展方法。从WCF客户端访问此合同的结果是什么?即如果访问IDService会发生什么 E.g。

[ServiceContract]
public interface IBaseService
{
  public void A();
  ...
}

[ServiceContract]
public interface IDService: IBaseService
{
  public static void B(this IBaseService S);
  ....
}

2 个答案:

答案 0 :(得分:2)

您无法在界面中定义静态方法(也不能在上面指定的访问修饰符public)。

答案 1 :(得分:1)

一个很好的问题 - 让我头疼不已。

对于WCF,扩展方法没有意义 - 对于这个问题,WSDL也是如此。

如果使用Service Reference生成客户端,则不会看到扩展方法(因为WSDL对扩展方法一无所知),因此您无法使用它。

如果您使用DLL/Project reference,您的代码将在本地调用,而不是通过代理调用。