1

我正在使用 Zenject,但这也适用于其他框架。我对必须复制/粘贴的样板代码不感兴趣。在这种情况下,OnEnable 应该订阅一个信号,OnDisable 应该取消订阅。可以写一个属性来使它更紧一点吗?

前任:

private void Construct(SignalBus signalBus) { _signalBus = signalBus; }

private void OnEnable() { _signalBus.Subscribe<MyCustomPropertiesChangedSignal>(HandleMyCustomPropertiesChanged); }

private void OnDisable() { _signalBus.TryUnsubscribe<MyCustomPropertiesChangedSignal>(HandleMyCustomPropertiesChanged); }

我希望能够简化这个也许更像这样:

    [SubscribeEnable (MyCustomPropertiesChangedSignal)]
    void HandleMyCustomPropertiesChanged (MyCustomPropertiesChangedSignal signal)
    {
....
    }

这甚至可能吗?

4

0 回答 0