繁体   English   中英

如何将WCF客户端代理生成的类中的方法标记为虚拟

[英]How can I mark the methods in a WCF client proxy generated class as virtual

在VS 2010中,我正在创建一个服务引用,该代码生成WCF客户端代理类Refernce.cs。 我需要这个类中的方法具有虚拟修饰符,以便它们可以在模拟中使用。

当然,我可以手动编辑生成的代码,但每次更新引用时,代码都将被重新生成并消除我的更改。

我是否可以更好地控制如何生成WCF客户端代理类? 有没有办法让代码生成器始终添加虚拟修饰符? 我希望这更加自动化,以便当其他开发人员需要更新引用时,他们不必知道或记得手动编辑生成的代码并添加虚拟修饰符。

另一种方法是创建一个接口。 代理类生成为partial ,这意味着您可以为该类创建另一个部分文件,并指定该类实现您的接口,即使实际实现位于生成的类中。 然后,您可以模拟界面,并将代理重新生成您的内容。

例如,您生成的类可能是:

public partial class SomeService
{
    public string GetSomething()
    {
        return ... 
    }
}

您可以为此创建一个接口:

public interface ISomeService
{
    string GetSomething();
}

然后为生成的类添加一个空的部分文件:

public partial class SomeService : ISomeService
{
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM