internal PropertyValueBag([NotNull] ObservableObject observableObject, [NotNull] PropertyPropertyAccessor propertyAccessor) { this.propertyAccessor = propertyAccessor; try { currentValue = propertyAccessor.Getter(observableObject); isValueValid = true; } catch (Exception e) { EventSource.Log.UnableInitiallyToReadProperty(propertyAccessor.ObjectTypeName, propertyAccessor.Name, e.ToString()); } }
public override void UpdateNewValue(ObservableObject observableObject) { try { newValue = propertyAccessor.Getter(observableObject); isValueValid = true; } catch (Exception e) { if (isValueValid) { EventSource.Log.UnableSubsequentlyToReadProperty(propertyAccessor.ObjectTypeName, propertyAccessor.Name, e.ToString()); } isValueValid = false; } }
object GetCurrentValue(ObservableObject observableObject) { try { var value = propertyAccessor.Getter(observableObject); isValueValid = true; return(value); } catch (Exception e) { if (isValueValid) { EventSource.Log.UnableSubsequentlyToReadProperty(propertyAccessor.ObjectTypeName, propertyAccessor.Name, e.ToString()); } isValueValid = false; return(default);