Linq を使用していくつかのものをフィルタリングしていますが、値を取得するためにリフレクションを使用する必要がある場合もあります。次に例を示します。
//...
PropertyType[] properties = myType.GetProperties();
var filtered = properties.Where(p=>p.PropertyType==typeof(MyMetaData)
&& ((MyType)p.GetValue(obj)).Name=="name"
&& ((MyType)p.GetValue(obj)).Length==10
).ToList();
//...
私の例では、GetValue() メソッドを複数回使用しています。変数を使用して保存する方法はありますか? パフォーマンスに役立つと思います。