Es gibt einige schwarze Magie-Code in C#, wo Sie die Standard-Implementierung einer Schnittstelle definieren können.Wie definiert man die Standardimplementierung einer Schnittstelle in C#?
So können Sie
var instance = new ISomeInterface();
Alle Zeiger schreiben?
UPDATE 1: Beachten Sie, dass ich nicht gefragt habe, ob das eine gute Idee ist. Wie war es nur möglich?
UPDATE 2: an alle, die die akzeptierte Antwort sehen.
- "Dies sollte nur als eine Kuriosität behandelt werden." von Marc Gravel "Newing up" Interfaces
- "Es ist eine schlechte Idee, ein Werkzeug für COM-Interop zu verwenden, etwas komplett und völlig anders zu machen. Das macht Ihren Code unmöglich für den nächsten Kerl zu verstehen, der es zu halten hat". Eric Lippert "Newing up" Interfaces
- "Obwohl es funktionieren könnte, wenn es jemals in Produktionscode von einem rationalen Codierer gefunden wurde, würde es stattdessen refactored, eine Basisklasse oder Abhängigkeitsinjektion zu verwenden." von Stephen Cleary in einem Kommentar unten.
einige Artikel zu diesem Thema: http: // Stackoverflow. com/questions/1093536 und http://blogs.msdn.com/b/ericlippert/archive/2007/04/20/chained-user-defined-explicit-conversions-in-c-part-three.aspx –
Ist da Noch immer kein vernünftiger Weg, dies zu tun? –
@WilliamJockusch immer noch der einzige, den ich kenne – Simon