Я впервые пробую дженерики, и у меня возникла проблема.
У меня есть DLL, которая отправляет сообщения в пакетном режиме
есть класс "Message" и класс "Batch" в этой dll
в классе пакета, у меня есть некоторые общедоступные свойства
одним из общедоступных свойств класса пакета является свойство «Messages», которое представляет собой список класса «Message» следующим образом:
public List<Message> Messages {get;set;}
Метод 1
Затем у меня есть тестовый exe-файл, в котором я хочу установить свойства класса "Batch" следующим образом:
Batch myBatch = new Batch()
myBatch.Messages.Add(
new MyNameSpace.Message(txtToAddress.Text, txtMessage.Text));
Когда я запускаю приложение, я получаю:
"Ссылка на объект не установлена для экземпляра объекта."
Метод 2
Немного поиграв, я вижу, что могу успешно выполнить следующее в тестовом exe:
List<MyNameSpace.Message> myMessages = new List<MyNameSpace.Message>();
myBatch.Messages.Add(
new MyNameSpace.Message(txtToAddress.Text, txtMessage.Text));
myBatch.Messages = myMessages;
Я бы хотел, чтобы это работало в первую очередь, потому что другие программисты будут использовать dll, и кажется более интуитивным использовать первый подход.
Чего мне не хватает, чтобы заставить работать первый метод?