Tôi đang cố gắng generics lần đầu tiên và đang gặp một vấn đề.C# danh sách generics của các đối tượng được sử dụng như một tài sản - không thể thêm giá trị
Tôi có một dll đó gửi tin nhắn theo lô
có một "Message" lớp và một lớp "hàng loạt" ở chỗ dll
trên lớp lô, tôi có một số công cộng tính
trên tài sản công cộng lớp hàng loạt là một tài sản gọi là "tin nhắn", đó là một danh sách các lớp "Message" như sau:
public List<Message> Messages {get;set;}
Phương pháp 1
sau đó tôi có một exe thử nghiệm nơi tôi muốn thiết lập các thuộc tính trên lớp "hàng loạt" như sau:
Batch myBatch = new Batch()
myBatch.Messages.Add(
new MyNameSpace.Message(txtToAddress.Text, txtMessage.Text));
Khi tôi chạy ứng dụng, Tôi nhận được:
"Tham chiếu đối tượng không được đặt thành phiên bản của đối tượng".
Phương pháp 2
Sau khi chơi xung quanh một chút, tôi thấy rằng tôi có thể làm thành công sau trong exe kiểm tra:
List<MyNameSpace.Message> myMessages = new List<MyNameSpace.Message>();
myBatch.Messages.Add(
new MyNameSpace.Message(txtToAddress.Text, txtMessage.Text));
myBatch.Messages = myMessages;
Tôi muốn để có được nó làm việc trong lần đầu tiên bởi vì các lập trình viên khác sẽ sử dụng dll và có vẻ như có nhiều cách để sử dụng cách tiếp cận đầu tiên.
Tôi thiếu gì để có phương pháp đầu tiên hoạt động?