Heim >Backend-Entwicklung >C++ >Implizite vs. explizite Schnittstellenimplementierung in C#: Wann sollte ich welches verwenden?
Die Schnittstelle in c# definiert den Vertrag, dem die Klasse oder die Struktur folgen muss. Bei der Implementierung der Schnittstelle können Sie zwei Methoden auswählen: verborgene Implementierung und explizite Implementierung.
versteckte Implementierung
korrigieren Sie die Schnittstellenmethode als Teil einer Klasse oder Struktur. Auf diese Methoden kann auf zwei Arten zugegriffen werden: Klasse und Schnittstelle. Beispiele wie folgt:
Ausdrücke
<code class="language-csharp">public interface ICopyable { void CopyTo(Array array, int index); } public class MyClass : ICopyable { public void CopyTo(Array array, int index) { // 实现代码 } }</code>Die Grenzflächenmethode in der Klasse oder Struktur separat ausdrücken. Diese Methoden können nur über Schnittstellen zugegriffen werden und können nicht über die Klasse zugegriffen werden. Beispiele wie folgt:
Wenn Sie eine versteckte oder explizite Implementierung verwenden
<code class="language-csharp">public interface ICopyable { void CopyTo(Array array, int index); } public class MyClass : ICopyable { void ICopyable.CopyTo(Array array, int index) { // 实现代码 } }</code>Wenn die Implementierung einer Klasse oder Struktur vollständig mit der Definition in der Schnittstelle übereinstimmt, ist
versteckte Implementierung . Es vereinfacht den Code, indem die Anforderungen der Definition der explizite Methode beseitigt werden.
als : angesehen werden
Sie müssen mehrere Schnittstellen mit demselben Methodennamen realisieren, aber unterschiedlich implementieren. Es muss von einer versteckten Schnittstelle aus einer öffentlichen API einer Klasse oder Struktur implementiert werden.
Vorteile: ermöglicht eine detailliertere Kontrolle, Details zu implementieren, und vermeidet mehrdeutige Konfliktmethoden in mehreren Schnittstellen.
Nachteile:Der Code kann zu langwierigen und komplizierten führen.
in die Implementierung:Microsoft -Leitlinien für die explizite Implementierung
Microsoft -Leitlinienprinzipien werden normalerweise empfohlen, um eine explizite Implementierung zu vermeiden, da dies zu einem zufälligen Verhalten führen kann. Das Prinzip dieser Anleitung kann jedoch zuvor vor der Abhängigkeitsinjektion (DI) formuliert werden. Bei der Verwendung von DI werden normalerweise Schnittstellen übergeben.Das obige ist der detaillierte Inhalt vonImplizite vs. explizite Schnittstellenimplementierung in C#: Wann sollte ich welches verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!