Die Einschränkung für T
bedeutet in diesem Fall, dass T
AppBase<T>
implementieren und einen Standardkonstruktor haben muss. Effektiv müssen Sie sich selbst als Typ übergeben.
Dies wird normalerweise als Versuch unternommen, das Typsystem zu umgehen und den Zugriff auf den Implementierungstyp innerhalb der Basisklasse über typeof(T)
zu ermöglichen. Zum Beispiel gegeben:
Sie können dann Code schreiben wie:
%Vor% Was die Typinformation für AppBaseFoo
ausgibt. Dies ist jedoch nicht idiotensicher - zum Beispiel "bricht" das Unterklassieren dies. Hinzufügen:
Und dann schreiben:
%Vor% Bewirkt das Drucken der gleichen AppBaseFoo
Information.
Tags und Links c# inheritance oop interface