1
を追加します。式ツリーキャスト&Iはなり非常に効率的にかつ繰り返しアクションを作成する必要が
- を
- 変数は、オブジェクト型をキャストいるICollection型にオブジェクト型の変数をキャスト変数をT型変数に変更する
- ICollection型コレクションにT型アイテムを追加します。
表現ツリーを構築し、再利用のためのアクションを保存することがこれを行う最も簡単な方法です。私はそれに多くの問題を抱えています。それは
private void AddToCollection(Type itemType, object item, object collection)
{
// Assume that itemType became T somehow
((ICollection<T>)collection).Add((T)item);
}
を行い効率的無反射コードを作成することはできません
private void AddToCollection(Type itemType, object item, object collection)
{
// assume itemType is used in the expression-tree to cast to ICollection<T>
((ICollection<T>)collection).Add((T)item);
}
はなぜだけではなく、汎用的な機能を使用します。
使用例:ここでは
がどのようである:
は何かかわらず可能であることは、このようなものを作成するのですか?表現を使って何が得られるのですか? – Amy
'Type itemType'引数では不可能です。特定の 'Type'に対して' Action
@Amyタイプ引数を持たないため、汎用メソッドを使用できません。私は既に、属性でマークされたプロパティからのリフレクションを使用して、コレクションのインスタンスを導き出しました。 – Wilshire