我正在使用 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)
{
....
}
这甚至可能吗?