MVVM warning przy przypisywaniu wartości w konstruktorze

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?

  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);
            }
        }
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.

0

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

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ą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1