Übergeben Sie den aktuellen Objekttyp an den Basiskonstruktoraufruf
Wie nehme ich das?Type
der geerbten Klasse und übergeben Sie es in den Basiskonstruktor der Klasse auch geerbt? Siehe das folgende Codebeispiel:
// VeryBaseClass is in an external assembly
public abstract class VeryBaseClass
{
public VeryBaseClass(string className, MyObject myObject)
{
}
}
// BaseClass and InheritedClass are in my assembly
public abstract class BaseClass : VeryBaseClass
{
public BaseClass(MyObject myObject) :
base(this.GetType().Name, myObject) // can't reference "this" (Type expected)
{
}
}
public class InheritedClass : BaseClass
{
public InheritedClass(MyObject myObject)
{
}
}
Die Liniebase(typeof(this).Name, myObject)
funktioniert nicht, weil ich nicht verweisen kannthis
Da das Objekt noch nicht fertig konstruiert ist und daher nicht existiert.
Ist es möglich, die zu greifenType
des aktuell konstruierenden Objektes?
BEARBEITEN:
Korrigiert die Probe alsschlug orsogufo vor, funktioniert aber immer noch nicht, wiethis
ist nicht definiert.
EDIT 2:
Nur zur Verdeutlichung möchte ich mit enden"InheritedClass"
übergeben in dieVeryBaseClass(string className, MyObject myObject)
Konstrukteur.