Ich habe eine Basis C++/CX-Klasse, die nicht versiegelt ist. Und ich habe eine Reihe von Klassen, die von dieser Basisklasse erben, die versiegelt sind. Ich frage mich, wie ich auf die nicht versiegelte Basisklasse in C# verweise, um eine C# -Auflistung der versiegelten Klassen zu erstellen.Verweisen Sie auf die Basisklasse (nicht versiegelt), um eine Sammlung von versiegelten Klassen zu erstellen
C++/cx:
ref class ConcreteClass sealed : AbstractBaseClass (a.k.a not sealed)
C#:
public static ObservableCollection<AbstractBaseClass> MyObjectCollection;
Warum ist das wichtig? Welches Problem verursacht (oder erlaubt)? Die abstrakte Klasse ist die einzige gemeinsame Basisklasse, daher gibt es vom Standpunkt der OO aus keinen Hinweis darauf, dass die Sammlung nur versiegelte Typen enthält. –
Das Problem ist, dass ich keine C# -Ansammlung vom Typ 'Basisklasse' erstellen kann. Zum Beispiel habe ich eine Basisklasse "Frucht" und möchte eine Sammlung aller meiner Früchte haben. 'Bananen',' Äpfel' etc ... nicht sicher, warum es mich das nicht lässt. – visc
Was ist der Fehler oder die Warnung? – NetMage