Gemäß der MSDN-Dokumentation zur StringComparer.OrdinalIgnoreCase
-Eigenschaft:
Die OrdinalIgnoreCase-Eigenschaft gibt tatsächlich eine Instanz einer anonymen Klasse zurück, die vom StringComparer abgeleitet ist Klasse.
Ist das ein Feature, mit dem ich nicht vertraut bin - anonyme Typen mit Vererbung? Oder unter "anonymer Klasse" hat der Autor einfach "interne Klasse abgeleitet von StringComparer
, nicht sichtbar für Client-Code" gemeint?
Wenn Sie sich den Quellcode für StringComparer ansehen, können Sie sehen, dass OrginalIgnoreCase eine Instanz von OrdinalComparer zurückgibt, die von StringComparer abgeleitet ist.
Es gibt nichts "anonymes" darüber, das ich sehen kann, es ist nur so, dass es intern ist, so dass Sie es von außerhalb des Frameworks nicht sehen können.
Der Compiler kann anonyme Typen erstellen, die von einem anderen Typ erben - das geht nicht. Es ist schade, wirklich, wie es eine coole Funktion wäre, einen anonymen Typ im laufenden Betrieb zu erstellen, der entweder von einer anderen Klasse erbt oder eine Schnittstelle implementiert.
Tags und Links .net c# anonymous-types anonymous-class stringcomparer