Запуск функции при изменении любого свойства объекта с помощью RxPy

В RxPy есть что-нибудь похожее на INotifyPropertyChanged в.NET Framework упоминается здесь? Я пытаюсь добавить наблюдателя к объекту, чтобы любое свойство объекта изменилось, и будет вызвана функция.

1 ответ

Решение

Попробуйте что-то вроде этого:

class A(object):
    def __init__(self):
        self._my_attr = None
        self.property_changed = Subject()
    ...
    @property
    def my_attr(self):
        return self._my_attr

    @my_attr.setter
    def my_attr(self, value):
        if value != self._my_attr:
            self._my_attr = value
            self.property_changed.on_next(('my_attr', value))

a = A()
a.property_changed.subscribe(print)
a.my_attr = 1
a.my_attr = 3
Другие вопросы по тегам