Tôi có một lớp cơ sở (kém được viết) mà tôi muốn bọc trong một đối tượng proxy. Các lớp cơ sở tương tự như sau:Làm cách nào để ngăn chặn một hàm tạo cơ sở được gọi bởi một người thừa kế trong C#?
public class BaseClass : SomeOtherBase
{
public BaseClass() {}
public BaseClass(int someValue) {}
//...more code, not important here
}
và, proxy của tôi giống như:
public BaseClassProxy : BaseClass
{
public BaseClassProxy(bool fakeOut){}
}
Nếu không có sự "fakeOut" nhà xây dựng, các nhà xây dựng cơ sở dự kiến sẽ được gọi. Tuy nhiên, với nó, tôi mong đợi nó sẽ không được gọi. Dù bằng cách nào, tôi hoặc cần một cách để không gọi bất kỳ nhà xây dựng lớp cơ sở, hoặc một số cách khác để có hiệu quả proxy này (ác) lớp.
Trên thực tế, nếu bạn đọc bình luận của tôi dưới đây, có một cách, mặc dù tôi sẽ không khuyên bạn nên nó trong nhiều trường hợp. –
Câu trả lời này chỉ đơn giản là sai. Đặc biệt là trong ánh sáng của câu trả lời khác. – Kobor42