public void SetValue(object value) { var that = this; Guard.Action(() => that.property.SetValue(that.owner, value), ex => new InvalidOperationException($"Cannot set value of '{that.property.Name}' in {that.owner}", ex)); }