MVVM warning przy przypisywaniu wartości w konstruktorze

MVVM warning przy przypisywaniu wartości w konstruktorze
bloniak91
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 93
0

Podczas kompilacji nowego projektu otrzymuje warning:

Warning CA2214 'ChartViewModel.ChartViewModel()' contains a call chain that results in a call to a virtual method defined by the class. Review the following call stack for unintended consequences:

ChartViewModel..ctor()
ChartViewModel.set_ChartModel(PlotModel):Void
ObservableObject.RaisePropertyChanged(String):Void

Nowy projekt zaczęty z szablony MVVM Light. Stworzyłem ChartViewModel, któryt dziedziczy po ViewModelBase. Warning występuję, gdy próbuję w konstruktorze ChartViewModel przypisać wartość do INotifyPropertis wartość.

Czy ktoś wie skąd bierze się taki warning?

Kopiuj
  public const string ChartModelPropertyName = "ChartModel";
        private PlotModel _chartModel = new PlotModel();
        public PlotModel ChartModel
        {
            get
            {
                return _chartModel;
            }

            set
            {
                if (_chartModel == value)
                {
                    return;
                }

                _chartModel = value;
                RaisePropertyChanged(ChartModelPropertyName);
            }
        }
  • Rejestracja: dni
  • Ostatnio: dni
0

Wywołujesz konstruktorze metodę wirtualną co się może różnie skończyć jeśli ją przeładujesz w klasie potomnej. Dlatego Visual Studio się pluje o to.

bloniak91
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 93
0

Rozumiem, ale w projekcie wcześniejszym robiłem dokładnie to samo i ten warning nie występował....

  • Rejestracja: dni
  • Ostatnio: dni
0

On zdaje się zależy od konfiguracji Visuala. Jeżeli wiesz co robisz i zdajesz sobie sprawę z konsekwencji to możesz olać go dyrektywą.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.