Ich versuche, das Folgende zu erreichen, aber ich bin mir nicht sicher, ob es überhaupt möglich ist.Collection Vererbung
Ich habe folgende 'Basis' Entitäten
public abstract class BaseObject {}
public abstract class BaseCollection <T> : ObservableCollection<T> where T : BaseObject {}
Ich habe auch
public class Obj_1: BaseObject {}
public class Obj_1_collection : BaseCollection <Obj_1>
{
public Obj_1_Method_1() {}
}
und
public class Obj_2: Obj_1 {}
Nach der gleichen Logik wie Obj_1
, ich möchte eine Obj_2_collection
haben . Ich möchte, dass diese Sammlung von Obj_1_collection
erbt, um auf ihre Methoden zuzugreifen, z. Obj_2_collection.Obj_1_Method_1()
. Wie ich es in meinem Kopf habe ich versuche, so etwas wie die folgenden (in Pseudo-Code) zu tun:
public class Obj_2_collection : Obj_1_collection<Obj_2 extends Obj_1>
was bedeutet, dass die Obj_2_collection
Obj_1_collection
zugreifen kann, aber die Objektsammlung es vom Typ seiner Obj_2
Haben Sie versucht, Ihre 'Obj_1_collection' als' öffentliche Klasse zu definieren Obj_1_collection: Base where T: Obj_1 {} ' –
Sidewinder94
Obj_1 und Obj_2 müssen das gleiche erben Basisklasse BaseObject. In deinem Code hast du Obj_2 Obj_1 erben. – jdweng
@jdweng was bedeutet, dass 'Obj_2' auch von' BaseObject' geerbt wird – Sidewinder94