Многострочная UIB-кнопка и автопрокладка

Это невозможно сделать с помощью nameof, но есть еще лучший способ (доступный с C # 5). Вы можете сделать параметр propertyName опционным и применить к нему атрибут CallerMemberName:

protected void Set<T>(T value, [CallerMemberName] string propertyName = null)
{
    ...
}

protected T Get<T>([CallerMemberName] string propertyName = null)
{
    ...
}

Теперь, если вы опускаете аргумент для propertyName, текущее имя участника передается неявно:

public string MyProperty
{
    get { return base.Get<string>(); } // same as calling Get<string>("MyProperty")
    set { base.Set<string>(value); } // same as calling Set<string>(value, "MyProperty")
}
30
задан 24 May 2014 в 14:11
поделиться