tôi đang làm việc trên một lớp trừu tượng mà lớp thực hiện cần phải thực hiện một danh sách các T. Vấn đề là điều này không làm việc:Sử dụng Generics trong lớp trừu tượng
public class AbstractClass
{
public int Id { get; set; }
public int Name { get; set; }
public abstract List<T> Items { get; set; }
}
public class Container : AbstractClass
{
public List<Widgets> Items { get; set; }
}
Tôi chắc chắn rằng có một câu trả lời rõ ràng mà tôi đang thiếu, và tôi biết rằng tôi có thể xây dựng một kiểu cơ sở trừu tượng để đưa vào danh sách, nhưng khi tôi sử dụng lệnh Linq để xây dựng danh sách, kiểu trừu tượng (ItemBase) không chơi độc đáo với phương thức .ToList(). Là những gì tôi đang cố gắng để làm như vậy độc đáo?
Nó chỉ ra rằng tôi cần phải tìm hiểu để nghiên cứu tốt hơn. Xin lỗi cho tất cả các câu trả lời giống nhau mà không nhận được dấu kiểm. Tôi đã chọn vị trí hàng đầu dựa trên sự hoàn chỉnh của nó và thực tế nó là hàng đầu. – thaBadDawg
Bạn có thực sự muốn 'Mục' trừu tượng không? (tức là ghi đè lên các thuộc tính get hoặc set?) Nếu bạn mở rộng từ 'AbstractClass' giống như hầu hết mọi người đang đề xuất, 'Container.Các mục' sẽ hoàn toàn là một 'Danh sách ' và bạn thậm chí sẽ không cần ghi đè lên nó. –
Tanzelax
Tôi muốn để lại khả năng các phương thức getter và setter bị ghi đè sau này. Về lý thuyết tôi không cần, nhưng trong thực tế, cố gắng hoàn tác sự lộn xộn đó dẫn đến một thế giới bị tổn thương. – thaBadDawg