Frage

Nach der MSDN-Dokumentation auf der StringComparer.OrdinalIgnoreCase Eigenschaft:

  

Die OrdinalIgnoreCase Eigenschaft gibt tatsächlich eine Instanz einer anonymen Klasse abgeleitet aus dem StringComparer Klasse.

Ist das ein Feature, das ich mit Vererbung mit anonymen Typen nicht vertraut bin? Oder von „anonymer Klasse“ hat der Autor einfach bedeuten, „interne Klasse von StringComparer ableiten, nicht sichtbar Client-Code“?

War es hilfreich?

Lösung

Wenn Sie StringComparer auf den Quellcode schauen, können Sie sehen, dass OrginalIgnoreCase eine Instanz von OrdinalComparer zurückgibt, die von StringComparer abgeleitet wird.

Es gibt nichts ‚anonym‘ darüber, dass ich sehen kann, es ist nur, dass es interne , so dass Sie es nicht von außerhalb des Rahmens sehen.

Andere Tipps

Es ist keine anonymen Typ in der normalen C # des Begriffs bedeutet.

Es ist nur eine Art, die intern ist, so dass Sie den Namen wissen es nicht. Sie nicht auf die genaue Art innerhalb des Codes beziehen

Die Compiler können anonyme Typen erstellen, die erben von einem anderen Typ - Sie können es nicht. Es ist zu schade, wirklich, wie es ein cooles Feature wäre eine anonyme Art on the fly, dass entweder erbt von einer anderen Klasse oder eine Schnittstelle implementiert.

erstellen

Anonymous-Typ ist anonym , um uns nicht die CLR und complier. Compiler verwendet eine lustige Namensgebung, die <> im Namen enthält und nur Compiler kann das tun! und vielleicht Chuck Norris ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top