Tôi không nghĩ điều này là có thể, nhưng nếu sau đó tôi cần nó :)Ghi đè hàm dựng mặc định của một phần lớp với một lớp khác
Tôi có tệp proxy được tạo tự động từ dòng lệnh wsdl.exe công cụ của Visual Studio 2008.
Kết quả đầu ra proxy là một phần các lớp. Tôi muốn ghi đè lên constructor mặc định được tạo ra. Tôi không muốn sửa đổi mã vì nó được tạo tự động.
Tôi đã thử tạo một lớp khác và định nghĩa lại hàm tạo mặc định, nhưng điều đó không hoạt động. Sau đó tôi đã thử sử dụng ghi đè và từ khóa mới, nhưng điều đó không hoạt động.
Tôi biết tôi có thể kế thừa từ lớp học một phần, nhưng điều đó có nghĩa là tôi phải thay đổi tất cả mã nguồn để trỏ đến lớp cha mẹ mới. Tôi không muốn phải làm điều này.
Bất kỳ ý tưởng, xung quanh công việc hoặc hack nào?
//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 Giải pháp đơn giản và thanh lịch. – James
Bây giờ đây là một tình trạng khó xử bỏ phiếu ... không thực sự liên quan gì đến câu hỏi OP mà không phải về L2S vì vậy sẽ không có OnCreated nhưng bạn đã ngăn tôi đập đầu vào bàn vì vậy +1 tôi nghĩ. – Ryan
@Ryan: Rất vui khi được giúp đỡ. Cảm ơn bạn :-) –