我不認爲這是可能的,但如果是那麼我需要它:)覆蓋默認構造
我從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