Was bedeutet die "Basis" -Syntax?

7

Kann mir jemand sagen, was die Syntax unten bedeutet?

%Vor%

Ich meine, was ist method(argument) : base(argument) {} ??

P.S Dies ist ein Konstruktor einer Klasse.

    
Saeid Yazdani 08.05.2012, 17:13
quelle

8 Antworten

17

Die :base -Syntax ist eine Möglichkeit für einen abgeleiteten Typ, an einen Konstruktor in der Basisklasse zu ketten, der das angegebene Argument akzeptiert. Wenn sie weggelassen wird, versucht der Compiler im Stillen, an einen Basisklassenkonstruktor zu binden, der 0 Argumente akzeptiert.

%Vor%

Es gibt auch die :this -Syntax, die es ermöglicht, Konstruktoren desselben Typs mit einer angegebenen Argumentliste zu verketten

    
JaredPar 08.05.2012, 17:16
quelle
3

Ihre Klasse wird wahrscheinlich folgendermaßen definiert:

%Vor%

Es stammt von einer anderen Klasse. : base(...) für Ihren Konstruktor ruft den entsprechenden Konstruktor in der Basisklasse auf, bevor der Code im Konstruktor der abgeleiteten Klasse ausgeführt wird.

Hier ist eine ähnliche Frage.

BEARBEITEN

Wie von Tilak bemerkt, finden Sie die MSDN-Dokumentation zur -Basis Keyword bietet eine gute Erklärung.

    
zimdanen 08.05.2012 17:15
quelle
2

ruft den benannten Konstruktor der Basisklasse auf. Wenn base (Argument) nicht angegeben ist, wird der parameterlose Konstruktor

aufgerufen

Was ist eigentlich der Zweck von "base" Stichwort in c #?

Basis-Keyword

    
Tilak 08.05.2012 17:15
quelle
2

Er ruft den Konstruktor von der Basisklasse auf und übergibt die Argumente context und attrs

    
vguzmanp 08.05.2012 17:15
quelle
2

Dies ist ein abstrakter überladener Klassenkonstruktor, der das Initialisieren von Argumenten für die abgeleitete Klasse und die Basisklasse ermöglicht und angibt, ob ein überladener Konstruktor verwendet werden soll. LINK

%Vor%     
corn3lius 08.05.2012 17:31
quelle
1

Ihre Klasse erbt von einer Basisklasse, und wenn Sie ein Objekt vom Typ ScopeCanvas initialisieren, wird der Basiskonstruktor mit einer Parameterliste von (context, attrs)

aufgerufen     
Aheho 08.05.2012 17:16
quelle
1

Dies bedeutet, dass dieser Konstruktor zwei Argumente akzeptiert und diese an den Konstruktor geerbter Objekte übergibt. Ein Beispiel unten mit nur einem Argument.

%Vor%     
Oblivion2000 08.05.2012 17:17
quelle
0

In den obigen Beispielen sprechen alle von : base niemand nimmt . Ja Base wird verwendet, um auf Member von Parent zuzugreifen, ist aber nicht auf Konstruktoren beschränkt. Wir können base._parentVariable oder base._parentMethod () direkt verwenden.

Basis. Beispiel

    
Raj kumar 16.07.2015 10:18
quelle

Tags und Links