Gần đây tôi đã gặp phải sự cố trong đó có vẻ như tôi cần phương pháp 'tóm tắt tĩnh'. Tôi biết tại sao điều đó là không thể, nhưng làm thế nào tôi có thể làm việc xung quanh giới hạn này?C#, triển khai 'tóm tắt tĩnh' như các phương pháp
Ví dụ: tôi có lớp trừu tượng có chuỗi mô tả. Kể từ chuỗi này là chung cho tất cả các trường hợp, nó được đánh dấu là tĩnh, nhưng tôi muốn yêu cầu tất cả các lớp thừa kế từ lớp này cung cấp thuộc tính Mô tả riêng của họ vì vậy tôi đánh dấu nó như là trừu tượng:
abstract class AbstractBase
{
...
public static abstract string Description{get;}
...
}
Nó sẽ không biên dịch tất nhiên. Tôi đã nghĩ đến việc sử dụng giao diện nhưng giao diện có thể không chứa chữ ký phương thức tĩnh.
Tôi có nên đơn giản là không tĩnh và luôn nhận được một cá thể để có được thông tin cụ thể về lớp học đó không?
Bất kỳ ý tưởng nào?
Tương tự như câu hỏi này http://stackoverflow.com/questions/763344/c-virtual-or-abstract-static-methods/763364#763364 –
Bản sao có thể có của [Tại sao tôi không thể có phương pháp tĩnh trừu tượng trong C# ?] (https://stackoverflow.com/questions/3284/why-cant-i-have-abstract-static-methods-in-c) –
Bản sao có thể có của [Cách triển khai các thuộc tính tĩnh ảo?] (https://stackoverflow.com/questions/15346631/how-to-implement-virtual-static-properties) – peterh