Während eines Refactorings habe ich eine Methode wie das folgende Beispiel erstellt. Der Datentyp wurde der Einfachheit halber geändert.
Ich hatte vorher eine Zuweisungserklärung wie diese:
MyObject myVar = new MyObject();
Es wurde versehentlich umgestaltet:
private static new MyObject CreateSomething()
{
return new MyObject{"Something New"};
}
Dies war das Ergebnis eines Fehlers beim Ausschneiden / Einfügen von meiner Seite, aber das new
Schlüsselwort in private static new
ist gültig und wird kompiliert.
Frage : Was bedeutet das new
Schlüsselwort in einer Methodensignatur? Ich nehme an, es ist etwas, das in C # 3.0 eingeführt wurde.
Wie unterscheidet sich das von override
?
new
Modifikators als aa für eine Methode (oder ein anderes Element) ist nicht "etwas, das in C # 3.0 eingeführt wurde". Es ist seit der ersten Version von C # da.