我不认为这是可能的,但如果是那么我需要它:)覆盖默认构造
我从Wsdl.exe用命令行自动生成的代理文件工具由Visual Studio 2008.
代理输出是部分类。我想重写生成的默认构造函数。我宁愿不修改代码,因为它是自动生成的。
我试图使另一部分类,并重新定义了默认的构造函数,但不起作用。然后我尝试使用覆盖和新的关键字,但这不起作用。
我知道我可以从局部类继承,但是这将意味着我不得不改变我们所有的源代码,以指向新的父类。我宁愿不必这样做。
任何想法,变通或黑客?
//Auto-generated class
namespace MyNamespace {
public partial class MyWebService : System.Web.Services.Protocols.SoapHttpClientProtocol {
public MyWebService() {
string myString = "auto-generated constructor";
//other code...
}
}
}
//Manually created class in order to override the default constructor
namespace MyNamespace {
public partial class MyWebService : System.Web.Services.Protocols.SoapHttpClientProtocol {
public override MyWebService() { //this doesn't work
string myString = "overridden constructor";
//other code...
}
}
}
+1简单而优雅的解决方案。 – James 2011-06-13 23:25:30
现在这是一个投票困境......与OP问题无关,与L2S无关,所以不会有一个OnCreated,但你已经阻止了我将我的头撞向桌子,所以+1我认为。 – Ryan 2011-07-15 18:44:42
@Ryan:很高兴能有帮助。谢谢:-) – 2011-08-23 15:42:23