Có thể, trong C#, để tạo các phương thức mở rộng trên lớp nhưng hạn chế khả năng hiển thị/trợ năng trong lớp không? (Ví dụ như mở rộng Phương pháp A trên lớp M là chỉ có thể trong lớp Z)Phương pháp mở rộng C# chỉ hiển thị và có thể truy cập trong một lớp ("riêng tư")
Ví dụ:
class A
{
String foo = "";
String bar = foo.MakeMillionaire("arg");
}
Trong ví dụ trên, chúng tôi muốn các phương pháp khuyến nông "MakeMillionaire" mở rộng lớp String chỉ để được nhìn thấy và có thể truy cập trong lớp A. Tôi có thể làm điều này bằng cách nào đó bằng cách định nghĩa phương thức mở rộng trong một lớp tĩnh trong lớp A không?
Chỉnh sửa: Thử sản lượng lớp lồng nhau thường xuyên "Lỗi: Phương pháp mở rộng phải được xác định trong lớp tĩnh cấp cao nhất".
Khi bạn thử làm điều này, điều gì sẽ xảy ra? –
Tôi nhận được "Lỗi: Phương pháp mở rộng phải được xác định trong lớp tĩnh cấp cao nhất" .... – Alex