このソリューションを私の既存のユーティリティ クラス (GetProperty
メソッドだけ)に適合させたいと思います。つまり、私のユーティリティ クラスは一般的に型指定されていません (つまり、クラス宣言には<T>
パラメーターがPropertyHelper
ありません)。当分の間、追加することはできません。
言い換えれば、GetProperty
クラス全体ではなく、そのメソッドだけをジェネリック型にしたいのです。
では、メソッドを機能させるにはどのような変更が必要ですか? そのメソッドのジェネリック型のリストに T を追加しようとしました:
public static PropertyInfo GetProperty<T, TValue>(Expression<Func<T, TValue>> selector)
しかし、次のことをしようとするとエラーが発生します。
PropertyInfo prop = MyUtilClass.GetProperty<Foo>(x => x.Bar);
明らかに、これはaと a ...をGetProperty
期待しているためです。T
TValue
上記のように呼び出せるようにしたいだけです。どのように?