BindablePropertyUnSubscribe.cs 612 B

12345678910111213141516171819202122
  1. using System;
  2. namespace Blue
  3. {
  4. public struct BindablePropertyUnSubscribe<T> : IUnSubscribe
  5. {
  6. private Action<T> _onPropertyChanged;
  7. private BindableProperty<T> _property;
  8. public BindablePropertyUnSubscribe(BindableProperty<T> property,Action<T> onPropertyChanged)
  9. {
  10. _property = property;
  11. _onPropertyChanged = onPropertyChanged;
  12. }
  13. public void UnSubscribe()
  14. {
  15. _property.UnSubscribe(_onPropertyChanged);
  16. _property = null;
  17. _onPropertyChanged = null;
  18. }
  19. }
  20. }