#define str(s) #s
マクロを使用してC言語のように.NET 4.0のメンバー名をC#で文字列化する方法はありますか?c#.NETで#define str(s)#s in Cに類似した文字列
public Double MyDouble
{
get { return _MyDouble;}
set
{
_MyDouble = value;
RaisePropertyChanged("MyDouble");
// The below item would refactor correctly if C# had a stringify pre-processor
// RaisePropertyChanged(str(MyDouble));
}
}
private Double _MyDouble;
再因数分解が有効になっている場合、私はSearch in Strings
無効または破損全く関係のない文字列を持っている場合はレイズプロパティ変更イベントを壊します。 UI要素が変更に応答しなくなるまで気付かないことがあります。
C#4.0では、リフレクションを使用してメンバー名を取得するなどの方法がありますか? – NtscCobalt
@NtscCobalt私はNotifyPropertyWeaverに行くだろう。 Reflectionを使用して何かを取り除くことができるかもしれませんが、JITは物事をインライン化できるので、結果は保証されません。 Plusプロパティはメソッドのための派手なアクセサであり、再びスタックを醜く歩いてしまいます。 – vcsjones