Tôi đang tìm cách tạo một trình bao bọc chung cho bất kỳ đối tượng nào.
Đối tượng bao bọc sẽ hoạt động giống như lớp kết thúc tốt đẹp, nhưng sẽ có thể có nhiều thuộc tính, biến, phương thức, v.v., ví dụ: đối tượng đếm, bộ nhớ đệm, vvTrình bao bọc C# cho các đối tượng
Say lớp wrapper được gọi Wrapper, và lớp được bao bọc được gọi là Quảng trường và có constructor Square (edge_len kép) và các thuộc tính/phương pháp EdgeLength và Diện tích, tôi muốn sử dụng nó như sau:
Wrapper<Square> mySquare = new Wrapper<Square>(2.5); /* or */ new Square(2.5);
Console.Write("Edge {0} -> Area {1}", mySquare.EdgeLength, mySquare.Area);
Rõ ràng tôi có thể tạo ra như một lớp wrapper cho mỗi lớp tôi muốn quấn, nhưng tôi đang tìm một giải pháp chung, i. e. Wrapper<T>
có thể xử lý cả hai loại nguyên thủy và hợp chất (mặc dù trong tình huống hiện tại của tôi, tôi sẽ rất vui khi chỉ gói các lớp của riêng mình).
Đề xuất?
Cảm ơn.
Bạn không thể thực hiện việc này với C# lên tới 3.0. Phiên bản 4.0, tuy nhiên, có thể cho phép bạn làm điều này thông qua hệ thống kiểu động mới. –
Bạn có thể vui lòng xây dựng? Cảm ơn. – Haggai