예제 #1
0
 protected override void uninitialize()
 {
     _getValueExpressionWatcher.Dispose();
     EventUnsubscriber.QueueSubscriptions(_getValueExpressionWatcher._propertyChangedEventSubscriptions, _getValueExpressionWatcher._methodChangedEventSubscriptions);
     Utils.removeDownstreamConsumedComputing(_getValueExpressionWatcher, this);
     Utils.uninitializeNestedComputings(_nestedComputings, this);
     setDefaultValue();
 }
예제 #2
0
 protected override void processSource()
 {
     if (_isActive)
     {
         _getValueExpressionWatcher = new ExpressionWatcher(this, _expressionInfo);
         Utils.initializeExpressionWatcherCurrentComputings(_getValueExpressionWatcher, _expressionInfo._callCount, this);
         _getValueExpressionWatcher.ValueChanged = getValueExpressionWatcherOnValueChanged;
         setValue(getResult());
     }
     else
     {
         _getValueExpressionWatcher.Dispose();
         EventUnsubscriber.QueueSubscriptions(_getValueExpressionWatcher._propertyChangedEventSubscriptions, _getValueExpressionWatcher._methodChangedEventSubscriptions);
         Utils.removeDownstreamConsumedComputing(_getValueExpressionWatcher, this);
         setDefaultValue();
     }
 }