Ich habe einen privaten Typ, der in dem Konstruktor instanziiert werden sollte. Ich habe einen Basiskonstruktor und einen anderen mit Parametern. Ich habe Instanziierung in der Basis und nur die Variablenzuweisung im parametrisierten Konstruktor beibehalten. Aber es funktioniert nicht.Basiskonstruktor, der nicht ausgeführt wird
Dies funktioniert nicht.
public class MainClass
{
private MyType myType = null;
private string myParm = string.Empty;
private MainClass()
{
myType = new MyType();
}
public MainClass(string inParm) : base()
{
myParm = inParm;
}
}
Die unten arbeitet,
public class MainClass
{
private MyType myType = null;
private string myParm = string.Empty;
private MainClass()
{
}
public MainClass(string inParm): base()
{
myType = new MyType();
myParm = inParm;
}
}
myType nicht initialisiert wird, wenn in Basiskonstruktor gehalten
'base()' ist der Konstruktor von einer übergeordneten Klasse für den Aufruf, die 'object' für diese Klasse ist. 'object' weiß nichts über' myType'. Wahrscheinlich suchst du stattdessen 'this()'. –
Ich verstehe jetzt. Danke für die Erklärung – Sekar