我使用的是LoggerService
在我ViewModelBase
,這是在構造函數中注入:依賴注入ViewModelBase - 最佳實踐
public abstract class ViewModelBase : INotifyPropertyChanged
{
private ILoggerService _loggerService;
public ViewModelBase(ILoggerService loggerService)
{
_loggerService = loggerService;
}
...
...
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
但在我ViewModelOne
,從ViewModelBase
繼承,我需要使用這項服務,有什麼我應該怎麼做?
- 做公益的
_loggerService
在ViewModelBase
和ViewModelOne
使用它。 - 再次在
ViewModelOne
的構造函數中注入接口。
在您看來,哪種方法最好?或...你會怎麼做?
你可以讓_loggerService保護 – InferOn