5

についてのすべてTypeは、本質的に反射的です。Typeの他のクラスよりも頻繁に使用されるためSystem.Reflectionですか? それとも、リフレクション クラスというよりもシステム クラスのように機能するためですか?

要するに、ロケ地の背後にある動機は何だったのか、私はいつも疑問に思っていましSystem.Typeた.

4

3 に答える 3

1

アセンブリには興味深いタイプとAssembly嘘があります。System.Reflection

だから私の推測では、それは a を返すObjectメソッドの実装と関係があると思います.GetTypeType

于 2010-03-19T14:43:25.520 に答える
1

Type クラスは、System.Reflection だけでなく、より多くの場所で使用されます。Reflector ですばやく検索すると、何百ものそれらが表示されます。System.Configuration、System.Data、System.Drawing、System.Linq、System.Windows.Forms などで重要です。これらのクラスで Type インスタンスが実際に使用される方法はわかりません。System.Reflection が使用されている可能性がありますが、これは実装の詳細であり、プログラムにはまったく影響しません。

これらのクラスが必要とする Type インスタンスを typeof 演算子と object.GetType を使用して作成することは簡単であり、実際にリフレクション コードを記述しない限り System.Reflection を使用する必要がないことを考えると、Type は System 名前空間内の簡単にアクセスできる場所に確かに値します。

于 2010-03-19T17:15:06.947 に答える
0

Object が GetType メソッドであるためだと思います。

MS コーディングの練習では、クラスがサブ名前空間の型を参照してはならないことがわかります。実際には、BCL はこのルールに頻繁に違反します ;o)

于 2010-03-19T14:59:03.303 に答える