宣言的な方法 (AOP、リフレクションなど) でメソッド名を取得できるようにする必要性を見つけて、コンパイラのチェックによって破壊的な変更などが強制されるようにする。良い例:
invocation.Method.Name.Equals("GetAll"
..ラムダ/ジェネリックメソッドのようにこれを行う方法があるので、メソッド名を文字列リテラルとして配置する必要はありませんか? プロパティ名を取得するために、以前に次のようなものを使用しました。
public static string GetPropertyName<T, P>(Expression<Func<T, P>> propSelector)
where T : class
{
return (propSelector.Body as MemberExpression).Member.Name;
}
..しかし、メソッドに対して同じことを行う信頼できる簡単な方法はありますか?