was mit der Standardimplementierung einer Schnittstelle gemeint ist

8

Ich habe diese Aussage in vielen Dokumentationsbeispielen gesehen, wie hier

  

Diese Klasse ist die Standardimplementierung der "ISomeInterface" -Schnittstelle

was genau das bedeutet? Danke

    
Asad Butt 12.03.2010, 19:40
quelle

3 Antworten

9

Das ist etwas irreführend, da eine Schnittstelle definitionsgemäß keine Implementierung bereitstellt.

Viele Teile des Frameworks versuchen jedoch, das Leben einfacher zu machen - also bieten sie eine Methode, die eine Schnittstelle benötigt, aber auch eine Überladung ohne Parameter bietet. Ein gutes Beispiel ist List<T>.Sort .

Die Dokumentation hier legt nahe, dass Sie, wenn Sie eine Methode verwenden, die normalerweise eine IComparer<T> benötigt, diese jedoch über eine Überladung verwenden, die nicht verwendet wird, stattdessen die referenzierte "Standardimplementierung" verwenden.

Dies ist jedoch wirklich ein "Implementierungsdetail" von Klassen, die nicht mit der Schnittstelle selbst zusammenhängen. Ich persönlich denke, dies ist eine schlechte Wahl der Wörter in der Dokumentation, und sollte etwas mehr wie:

  

Viele Arten im Framework beruhen auf einer gemeinsamen Implementierung dieser von   die Comparer -Klasse.

Dies würde meines Erachtens eine klarere Bedeutung haben ...

    
Reed Copsey 12.03.2010, 19:45
quelle
3

Dies bedeutet, dass Sie die Methode Sortieren ohne Argument aufrufen (ohne explizit einen Vergleich anzugeben) ) Es wird diese Standardimplementierung verwenden.

    
Darin Dimitrov 12.03.2010 19:42
quelle
0

Dies bedeutet, dass diese Klasse die Schnittstelle implementiert. Es zeigt auf das Objekt, das die Schnittstelle selbst ohne abgeleitete oder geerbte Elemente implementiert, aber einfach die Schnittstelle. Dies ist die Klasse, die direkt dieser Schnittstelle entspricht.

%Vor%     
Will Marcouiller 12.03.2010 19:44
quelle

Tags und Links