質問

コード内で一方を他方よりも優先して使用するのはなぜでしょうか?

役に立ちましたか?

解決

注意:この回答は古いようです。 これは .NET 4 が利用可能になる前に投稿されたもので、明らかにいくつかの最適化が導入されました。 Type したがって、この回答の情報は廃止されました。見る これより最近の答え 詳細については。

によると Vance Morrison によるこのブログ投稿 (2006 年から), RuntimeTypeHandle 値型 (struct) これはアンマネージ ポインターをラップします。 Type.GetTypeHandle(obj).Equals(anotherHandle) 厳密な「まったく同じ型である」比較に使用する方が、 obj.GetType().Equals(anotherType) — 後者は作成します System.Type 明らかに重いインスタンスです。

ただし、これはそれほど明白ではなく、間違いなく「マイクロ最適化」のカテゴリに分類されるため、どちらが必要か迷っている場合は、おそらく System.Type を使用する必要があります。

他のヒント

.NET 4.0 ベータ 1 では RuntimeTypeHandle ただ包むだけ RuntimeType. 。安価なものとして使用するメリットはすべてあるようです Type 代理人がいなくなった。

上記の主張の証拠:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top