using System; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ShakerService.ViewModel { internal abstract class ViewModelBase { public ViewModelBase() { } public virtual void SetFpga() { } } internal abstract class ViewModelBase : ViewModelBase where TModel :IModel.IModel { public ViewModelBase():base() { if(typeof(TModel).IsAnsiClass && !typeof(TModel).IsAbstract) { InitModel(); } } private protected virtual void InitModel() { } [AllowNull] public TModel CurrentModel { get; } } }