Was ist geschütztes virtuelles neues?

8

Ich habe ein Tutorial über das Erstellen eines benutzerdefinierten Prinzipals gelesen und bin auf den Code gestoßen:

%Vor%

Wie genau funktioniert "geschütztes virtuelles Neues"?

Stichwort "neu" ist das, was mich am meisten verwirrt.

    
Admir Tuzović 30.09.2012, 14:42
quelle

3 Antworten

21

protected bedeutet, dass es nur innerhalb dieser Klasse und daraus abgeleiteten Klassen sichtbar ist.

virtual bedeutet, dass es in abgeleiteten Klassen überschrieben werden kann.

new bedeutet, dass Sie hier eine neue überschreibende Hierarchie erstellen, d. h. Sie beenden die Überschreibung der in der Basisklasse definierten Methode und ersetzen sie durch diese Methode.

Weitere Details finden Sie hier

>     
Zdeslav Vojkovic 30.09.2012, 14:44
quelle
6

new wird zum Ausblenden von Elementen verwendet.

Im Gegensatz zu einer überschriebenen Methode wird eine new -Methode nicht durch einen Verweis auf die Basisklasse aufgerufen.

Weitere Informationen finden Sie in der Dokumentation .

    
SLaks 30.09.2012 14:43
quelle
3

Ihre Schlüsselfrage: "Das Schlüsselwort new verwirrt mich am meisten."

Kurze Antwort: new und override schließen sich gegenseitig aus. new wird verwendet, um ein von einer Basisklasse geerbtes Klassenmitglied zu ersetzen . Im Gegensatz dazu wird override verwendet, um die Basisklassenimplementierung eines Members zu erweitern .

Von neuer Modifikator (C # -Referenz) (Visual Studio 2013) :

  

Es ist ein Fehler, sowohl new als auch override zu verwenden auf demselben Mitglied,   weil die beiden Modifikatoren einander ausschließende Bedeutungen haben. Das neue   Modifier erstellt ein neues Mitglied mit demselben Namen und verursacht die   ursprüngliches Mitglied, um versteckt zu werden. Der Modifikator überschreiben erweitert die   Implementierung für ein geerbtes Mitglied.

    
DavidRR 02.07.2014 14:23
quelle

Tags und Links