ViewModelBase.cs 1.1 KB

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