私は mvp を使用して、C# でいくつかの winforms を接続することに取り組んでいます。UI 開発は私の強力なスイートではありません。変更通知を発生させるために文字列に頼ることなく、INotifyPropertyChanged を実装するためのリファクタリング証明の方法を探していました。
msdn の例http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.aspxと、私が見た他のほとんどは、何よりも、プロパティをリファクタリングする場合は、文字列を変更する必要があります。
式と関数を使用してスタックオーバーフローで見た他のすべてのオプションは、残念ながら私がサポートしているレガシーソリューションでは利用できない機能であるため、式ツリーを使用してプロパティ名を取得する現在のソリューションを複製する方法があるかどうか疑問に思っていました。
私が見てきたソリューションの例。
public static string GetPropertyName<T, TReturn>(Expression<Func<T, TReturn>> expression)
{
MemberExpression body = (MemberExpression)expression.Body; return body.Member.Name;
}
乾杯