Я пробую дженерики в первый раз и у меня проблема.
У меня есть dll, которая отправляет сообщения пакетами
в этой dll есть класс "Сообщение" и класс "Пакетный"
в пакетном классе у меня есть некоторые общедоступные свойства
Одним из общедоступных свойств пакетного класса является свойство «Сообщения», которое представляет собой список класса «Сообщение» следующим образом:
public List<Message> Messages {get;set;}
Способ 1
Затем у меня есть тестовый exe-файл, в котором я хочу установить свойства класса «Пакетная обработка» следующим образом:
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, и первый подход кажется более интуитивным.
Чего мне не хватает, чтобы заставить работать первый метод?