2010-11-18 6 views
16
public CArm(Vector3 at, string name) : base(name) 
{ 

} 

Gibt es eine andere Möglichkeit, den Basiselternkonstruktor innerhalb der Klammern aufzurufen anstatt : base(name) zu tun?C# Aufrufender Basisklassenkonstruktor

Ich bin nicht sicher, ob dies eine andere Sprache war, aber ich erinnere mich an etwas wie super(); innerhalb des Konstruktors, um die Basisklasse aufzurufen.

Danke.

Antwort

20

Nein, Sie können keine Basiskonstruktoren in Konstruktorkörpern in C# aufrufen. Sie denken wahrscheinlich an die Syntax von Java.

Sie können das gewünschte Verhalten emulieren, indem Sie stattdessen eine Methode aufrufen. Seien Sie vorsichtig beim Aufruf virtueller Methoden!

+1

oder VB.NET Syntax, aber der Aufruf des Basiskonstruktor muss noch die * erste Zeile * im Konstruktor sein. –

2

Nein, Sie können nicht. Super-Schlüsselwort wird in Java zum Aufrufen von Superklassenmethoden und -objekten verwendet.

-3

Ja, Sie können. Verwenden Sie dieses Beispiel.

public class MyClass: BaseClass 
{ 
    public MyClass(string msg) : base(msg) 
    { 
     // Your code 
    } 
} 

Link

Verwandte Themen