2013-09-22 2 views
0

Проблема: не удается установить поле поддержки свойства private, поскольку я получаю следующее исключение при установке значения Name.ReactiveUI RaiseAndSetIfChanged() Доступность поля заднего плана

System.ArgumentException : You must declare a 
backing field for this property named: _Name 

Мой код:

public class MyVM : ReactiveObject 
{ 
    private string _Name; 
    public string Name 
    { 
     get { return _Name; } 

     set { this.RaiseAndSetIfChanged(x => x.Name, value); } 
    } 
} 

исправить это я был в состоянии установить _NAME публике:

public string _Name; 

исправляющие проблему, но почему я должен подвергать вспомогательное поле как общедоступное? Примеры, которые я вижу в Сети, используют частные поля поддержки ...?

ответ

2

Используйте новую перегрузку вместо этого, если не вы не используете> = VS2012:

this.RaiseAndSetIfChanged(ref theBackingField, value); 
+0

Спасибо !!! Отлично! Отличная работа в System.Reactive и ReactiveUI !!! Пробовал поиск по сайту, но не мог найти его нигде! : D –

Смежные вопросы