8

StringComparer.OrdinalIgnoreCaseプロパティに関するMSDNのドキュメントによると:

OrdinalIgnoreCase プロパティは、実際にはStringComparerクラスから派生した匿名クラスのインスタンスを返します。

これは私がよく知らない機能ですか? 継承のある匿名型ですか? または、「匿名クラス」とは、単に「から派生した内部クラスStringComparerであり、クライアント コードには表示されない」という意味でしたか?

4

4 に答える 4

9

通常の C# での用語の意味では匿名型ではありません。

これは単なる内部型であるため、その名前はわかりません。コード内で正確な型を参照することはできません。

于 2010-11-26T17:13:01.377 に答える
7

StringComparer のソース コードを見ると、OrginalIgnoreCase が StringComparer から派生した OrdinalComparer のインスタンスを返すことがわかります。

これについて私が見ることができる「匿名」のものは何もありません。それは単に内部的なものであり、フレームワークの外からは見ることができないということです。

于 2010-11-26T17:15:14.310 に答える
4

コンパイラは、別の型から継承する匿名型を作成できますが、できません。別のクラスから継承するか、インターフェイスを実装する匿名型をその場で作成するのはクールな機能であるため、本当に残念です。

于 2010-11-26T17:10:55.577 に答える
3

匿名型は、CLR やコンパイラではなく、私たちにとって匿名です。コンパイラは、名前に <> を含む面白い命名を使用しますが、コンパイラだけがそれを行うことができます! そしておそらくチャック・ノリス...

于 2010-11-26T17:15:12.033 に答える