ViewModelBase{TModel}.cs 792 B

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics.CodeAnalysis;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace ShakerService.ViewModel
  8. {
  9. internal abstract class ViewModelBase
  10. {
  11. public ViewModelBase()
  12. {
  13. }
  14. public virtual void SetFpga()
  15. {
  16. }
  17. }
  18. internal abstract class ViewModelBase<TModel> : ViewModelBase where TModel :IModel.IModel
  19. {
  20. public ViewModelBase():base()
  21. {
  22. if(typeof(TModel).IsAnsiClass && !typeof(TModel).IsAbstract)
  23. {
  24. InitModel();
  25. }
  26. }
  27. private protected virtual void InitModel()
  28. {
  29. }
  30. [AllowNull]
  31. public TModel CurrentModel { get; }
  32. }
  33. }