Wie definiere ich die Standardimplementierung einer Schnittstelle in c #?

In c # gibt es einen Code mit schwarzer Magie, in dem Sie die Standardimplementierung einer Schnittstelle definieren können.

So können Sie @ schreib

var instance = new ISomeInterface();

Irgendwelche Zeiger?

UPDATE 1: Beachten Sie, dass ich nicht gefragt habe, ob dies eine gute Idee ist. Wie war das möglich?

UPDATE 2: für 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 für COM-Interop entwickeltes Tool zu verwenden, um etwas völlig anderes zu tun. Das macht Ihren Code für den nächsten Mann, der ihn warten muss, unverständlich" von Eric Lippert "Newing up" Interfaces "Obwohl es möglicherweise funktioniert, würde es, wenn es jemals von einem rationalen Codierer in Produktionscode gefunden würde, überarbeitet, um stattdessen eine Basisklasse oder eine Abhängigkeitsinjektion zu verwenden." von Stephen Cleary in einem Kommentar unten.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage