2011-08-05 4 views
0

私はラムダ、表現木、コンパイルされたもののようなものをたくさん読んでいます...今どこが混乱しているのですか?リフレクションでこのような値を読み書きするプロパティの名前:リフレクションとプロパティ値の読み書きの高速メソッド

PropertyInfo[] propertyInfo = item.GetType().GetProperties(); 
foreach(var item in propertyInfo) 

がORMapperの並べ替えを一覧表示するDataTableのためにタイプのすべてのプロパティの読み取り/書き込みが遅いリフレクションを使用していない、より良い方法はありますか?

答えて

3

プロパティ名とセッタを一度取得するだけで済みます。パフォーマンスにはそれほど重要ではありません。次に、セッターを呼び出してそれをコンパイルする式ツリーを構築します。

最後に、各レコードに対して、高速のコンパイル済みの式ツリーを呼び出します。

+0

パフォーマンスの意味合いに合意しました。リフレクションは.NET Framework全体で頻繁に使用されており、正当な理由と適切なタイミングで実行されると比較的高速です...また、ポスターは** [Typed DataSets](http://msdn.microsoft.com /en-us/library/esbykkzb%28v=VS.90%29.aspx)****************************************************************** –

関連する問題