En supposant un type de base de "Message" ...Liste VB.NET (Of T) - Puis-je l'utiliser pour contenir des éléments de plusieurs types?
Public Class Message
Public ID As Int64
Public Text As String
Public MessageType as String
End Class
... puis deux classes dérivées ...
Public Class PhoneMessage
Inherits Message
Public MessageLength As Int64
End Class
Public Class MailMessage
Inherits Message
Public Postage As Int64
End Class
Je voudrais avoir une collection d'objets de message qui peut être soit PhoneMessages ou MailMessages, de sorte que je peux itérer dans la liste et traiter chaque message en fonction de quel type il se trouve être.
La tentative d'utilisation de .Add() échoue, indiquant que je ne peux pas ajouter un élément de type PhoneMessage à une liste (Of Message). Y a-t-il une manière élégante d'accomplir ce que j'essaye de faire? J'avais pensé que je pourrais accomplir cela avec des génériques, mais je pense qu'il y a une lacune dans ma compréhension. Si cela peut être accompli dans .NET 2.0, ce serait idéal.
Merci d'avance.
Veuillez nous montrer le code qui crée la liste et essaie d'y ajouter. – RBarryYoung