アクセサの内部からプロパティの一意の識別子を取得することは可能ですか?アクセサ内でプロパティの一意の識別子を取得する方法
class Foo
{
int Bar
{
set
{
string nameOfThisProperty = X; // where X == "Bar" or any unique value
}
}
}
もしそうなら、どうすればよいですか?
更新:
私が求めている理由は、私はいくつかのコードは、私が今やっているとして自分自身を1を宣言することを避けるために実行されているプロパティを識別し、いくつかの一貫性のあるユニークな値が欲しいですセッターをb可能性がコメント欄で指摘したよう
[MethodImpl(MethodImplOptions.NoInlining)]
set
{
string name = MethodBase.GetCurrentMethod().Name;
// TODO: strip the set_ prefix from the name
}
:あなたはリフレクションを使用することができ
Dictionary<string, RelayCommand> _relayCommands
= new Dictionary<string, RelayCommand>();
public ICommand SomeCmd
{
get
{
string commandName = "SomeCmd";
RelayCommand command;
if (_relayCommands.TryGetValue(commandName, out command))
return command;
...
可能複製(http://stackoverflow.com/questions/1206023/how-to-get-current-property-name [反射を経て、現在のプロパティ名を取得する方法?] -via-reflection) – empi
これを実現する方法はたくさんあります。最高のものはあなたがそれを必要とする理由によって決まります。 INotifyPropertyChangedを実装するには? –
@Adriano:私は尋ねる理由を更新しました。 –