ViewModelBase.cs 1.1 KB

1234567891011121314151617181920212223242526272829
  1. using CommunityToolkit.Mvvm.ComponentModel;
  2. using EventBus;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Diagnostics.CodeAnalysis;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace IViewModel.ViewModels
  10. {
  11. public abstract class ViewModelBase:ObservableObject
  12. {
  13. public virtual void Init()
  14. {
  15. }
  16. [return: NotNull]
  17. protected static EventBroker.EventData<TData> GetEvent<TData>() => (EventBroker.EventData<TData>)EventBroker.Instance.GetEvent<TData>();
  18. [return: NotNull]
  19. protected static EventBroker.EventData<TData, T> GetEvent<TData, T>() => (EventBroker.EventData<TData, T>)EventBroker.Instance.GetEvent<TData, T>();
  20. [return: NotNull]
  21. protected static EventBroker.AnonymousEventData GetEvent([NotNull] string eventName) => (EventBroker.AnonymousEventData)EventBroker.Instance.GetEvent(eventName);
  22. [return: NotNull]
  23. protected static EventBroker.AnonymousEventData<T> GetEvent<T>([NotNull] string eventName) => (EventBroker.AnonymousEventData<T>)EventBroker.Instance.GetEvent<T>(eventName);
  24. }
  25. }