J'essaie les génériques pour la première fois et j'ai un problème.Liste des génériques C# des objets utilisés comme propriété - impossible d'ajouter des valeurs
J'ai une dll qui envoie des messages par lots
il y a une classe classe « Message » et un « lot » en ce dll
sur la classe de lots, j'ai un peu du public propriétés
sur des propriétés publiques de la classe de lot est une propriété appelée « Messages » qui est une liste de la classe « message » comme suit:
public List<Message> Messages {get;set;}
Méthode 1
J'ai alors un exe de test où je veux définir les propriétés de la classe "Lot" comme suit:
Batch myBatch = new Batch()
myBatch.Messages.Add(
new MyNameSpace.Message(txtToAddress.Text, txtMessage.Text));
Quand je lance l'application, Je reçois:
"La référence d'objet n'est pas définie sur une instance d'un objet."
Méthode 2
Après avoir joué un peu, je vois que je peux faire avec succès ce qui suit dans le test exe:
List<MyNameSpace.Message> myMessages = new List<MyNameSpace.Message>();
myBatch.Messages.Add(
new MyNameSpace.Message(txtToAddress.Text, txtMessage.Text));
myBatch.Messages = myMessages;
Je voudrais le faire fonctionner dans le premier manière parce que d'autres programmeurs utiliseront la DLL et il semble plus intuitif d'utiliser la première approche.
Qu'est-ce qui me manque pour que la première méthode fonctionne?