このソリューションを私の既存のユーティリティ クラス (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期待しているためです。TTValue
上記のように呼び出せるようにしたいだけです。どのように?