Inheritance: DynamicMetaObjectBinder
		public bool TrySetMember(SetMemberBinder binder, object value, TrySetMemberDelegate baseTrySetMember)
		{
			if (!accessor.TrySetProperty(binder.Name, value))
				return baseTrySetMember(binder, value);

			return true;
		}
Exemple #2
0
        public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
        {
            var memberName = binder.Name;

            dynamicProperties[memberName] = value;
            if (VstPluginContext != null)
            {
                lock (InstrumentBase.VstPluginContextLockObject)
                {
                    if (VstPluginContext != null)
                    {
                        if (VstPluginContext.VstParameterIndexes.ContainsKey(memberName))
                        {
                            int   idx = VstPluginContext.VstParameterIndexes[memberName];
                            float val = (float)value;
                            if (val < 0)
                            {
                                val = 0;
                            }
                            else if (val > 1)
                            {
                                val = 1;
                            }
                            VstPluginContext.Context.PluginCommandStub.SetParameter(idx, val);
                        }
                    }
                }
                return(true);
            }
            NotifyToRefreshAllProperties();
            return(true);
        }
			public override DynamicMetaObject BindSetMember(SetMemberBinder binder,
				DynamicMetaObject value)
			{
				// Method to call in the containing class:
				string methodName = "SetDictionaryEntry";
				// setup the binding restrictions.
				BindingRestrictions restrictions =
					BindingRestrictions.GetTypeRestriction(Expression, LimitType);
				// setup the parameters:
				Expression[] args = new Expression[2];
				// First parameter is the name of the property to Set
				args[0] = Expression.Constant(binder.Name);
				// Second parameter is the value
				args[1] = Expression.Convert(value.Expression, typeof(object));
				// Setup the 'this' reference
				Expression self = Expression.Convert(Expression, base.LimitType);
				// Setup the method call expression
				Expression methodCall = Expression.Call(self,
						typeof(DynamicDictionary).GetMethod(methodName),
						args);
				// Create a meta object to invoke Set later:
				DynamicMetaObject setDictionaryEntry = new DynamicMetaObject(
					methodCall,
					restrictions);
				// return that dynamic object
				return setDictionaryEntry;
			}
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     var retVal = _row.Table.Columns.Contains(binder.Name);
     if (retVal)
         _row[binder.Name] = value;
     return retVal;
 }
Exemple #5
0
    public override bool TrySetMember( SetMemberBinder binder, object value )
    {

      string str = value as string;

      if ( str != null )
      {

        switch ( binder.Name )
        {
          case "tagName":
            throw new NotSupportedException( "元素名不能被修改" );

          case "innerText":
            Element.InnerText( str );
            return true;

          case "innerHTML":
            Element.InnerHtml( str );
            return true;
        }

        Element.SetAttribute( binder.Name, str );

      }

      return false;
    }
        public override bool TrySetMember(
            SetMemberBinder binder, object value)
        {
            _dictionary[binder.Name] = value;

            return true;
        }
Exemple #7
0
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            var key = binder.Name;
            AddOrUpdateSetting(key, (string)value);

            return true;
        }
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            string propertyName = binder.Name;
            this.dictionary[propertyName] = value;

            return true;
        }
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            Console.WriteLine("TrySetMember");

            new IHTMLPre { innerText = "TrySetMember: " + new { value } }.AttachToDocument();
            return true;
        }
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            var name = binder.Name;

            _properties[name] = value;
            return true;
        }
Exemple #11
0
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     var child = elementFactory.CreateElementWithNameForParent(binder.Name, element);
     element.AddChild(child);
     child.AddChild(elementFactory.CreateElementWithContentForParent(value?.ToString() ?? string.Empty, child));
     return true;
 }
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     _data[binder.Name] = value;
     OnPropertyChanged(binder.Name);
     OnPropertyChanged("");
     return true;
 }
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            if (value.GetType().IsValueType || value is string)
            {
                var existing = Attributes.FirstOrDefault(a => a.Name.LocalName.EqualsIgnoreCase(binder.Name));

                if (existing != null)
                {
                    Attributes.Remove(existing);
                }

                Attributes.Add(new XAttribute(binder.Name, value));
            }

            var element = Elements.FirstOrDefault(a => a.Name.EqualsIgnoreCase(binder.Name));

            if (element != null)
            {
                Elements.Remove(element);
            }

            Elements.Add(Serialize(value));

            return true;
        }
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {

            InternalValues[binder.Name] = value;
            FirePropertyChanged(binder.Name);
            return true;
        }
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            if (value == null)
            throw new NotSupportedException("Cannot set null value for item properties.");

             if (dteProject != null)
             {
            Property property;
            try
            {
               property = dteProject?.Value?.Properties.Item(binder.Name);
            }
            catch (ArgumentException)
            {
               property = null;
            }

            if (property != null)
            {
               try
               {
                  property.Value = value;
                  return true;
               }
               catch
               {
                  return false;
               }
            }
             }

             return false;
        }
Exemple #16
0
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            viewData[binder.Name] = value;
            HttpContext.Current.Items[this.GetType()] = this;

            return true;
        }
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            // cache location

            // this class if for floats. ints will need their own class

            var isvec2 = value is __vec2;
            if (isvec2)
            {
                var value_vec2 = (__vec2)value;

                gl.uniform2f(
                    gl.getUniformLocation(program, binder.Name),
                    value_vec2
                );

                return true;
            }

            var isvec3 = value is __vec3;
            if (isvec3)
            {
                var value_vec3 = (__vec3)value;

                gl.uniform3f(
                    gl.getUniformLocation(program, binder.Name),
                    value_vec3
                );

                return true;
            }

            gl.uniform1f(gl.getUniformLocation(program, binder.Name), (float)value);
            return true;
        }
Exemple #18
0
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
   //if this is not a DomainProperty...
   if (!objectInstance.ObjectDefinition.Properties.ContainsKey(binder.Name))
   {
     //...try to set it as a normal property
     PropertyInfo propInfo = this.proxiedObject.GetType().GetProperty(binder.Name);
     if (propInfo != null)
     {
       propInfo.SetValue(this.proxiedObject, value, null);
       return true;
     }
     else //property not found.
     {
       if (Debugger.IsAttached)
       {
         Debug.WriteLine("BOVProxy TrySetMember failed: Property '{0}' could not be found on object '{1}'", binder.Name, objectInstance.ObjectDefinition.SystemName);
       }
       return false;
     }
   }
   else
   {
     var propertyDefinition = objectInstance.ObjectDefinition.Properties[binder.Name];
     var propertyValue = propertyDefinition.GetUntypedValue(objectInstance);
     propertyValue.StringValue = value.ToString();
     return true;
   }
 }
 public override bool TrySetMember(SetMemberBinder binder, object value) {
     if (!jsonObject.ContainsKey(binder.Name))
         jsonObject.Add(binder.Name, (dynamic)value);
     else
         jsonObject[binder.Name] = (dynamic)value;
     return true;
 }
Exemple #20
0
 /// <summary>
 /// Provides the implementation for operations that set member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject" /> class can override this method to specify dynamic behavior for operations such as setting a value for a property.
 /// </summary>
 /// <param name="binder">Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive</param>
 /// <param name="value">The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject" /> class, the <paramref name="value" /> is "Test"</param>
 /// <returns>true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)</returns>
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     if (!this.values.ContainsKey(binder.Name))
         this.values.Add(binder.Name, null);
     if (binder.Name.Equals("redirect_uri")) value = Uri.UnescapeDataString(value.ToString());
     this.values[binder.Name] = binder.Name.Equals("response_type") ? Enum.Parse(typeof(ResponseTypeIdentifier), value.ToString(), true) : value;
     return true;
 }
Exemple #21
0
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            Console.WriteLine("TrySetMember is called,Name:{0}", binder.Name);
            bool tryResult = base.TrySetMember(binder, value);

            return true;

        }
        /// <summary>
        /// Set the value of a property using the property syntax
        /// </summary>
        /// <param name="binder"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public override bool TrySetMember(SetMemberBinder binder, object value) {

            if(_dic.ContainsKey(binder.Name))
                _dic.Remove(binder.Name);

            _dic.Add(binder.Name, value);
            return true;
        }     
Exemple #23
0
        // If you try to set a value of a property that is
        // not defined in the class, this method is called.
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            Dictionary[binder.Name] = value;

              // You can always add a value to a dictionary,
              // so this method always returns true.
              return true;
        }
Exemple #24
0
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            methodStubs[binder.Name] = value;

            RecordExecution(binder.Name, new object[] { value }, null, null);

            return true;
        }
        /// <summary>
        /// 实现动态对象属性值设置的方法。
        /// </summary>
        /// <param name="binder"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
        {
            var propertyName = binder.Name;
            var property     = this.Define.GetProperty(propertyName);

            SetValue(property, value);
            return(true);
        }
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     if (_dict.ContainsKey(binder.Name.ToUpper()))
         _dict[binder.Name.ToUpper()] = value;
     else
         _dict.Add(binder.Name.ToUpper(), value);
     return true;
 }
Exemple #27
0
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     if (_wrappedType.GetMembers ().Any (x => x.Name == binder.Name)) {
         var member = _wrappedType.GetMembers ().Where (x => x.Name == "set_" + binder.Name).First ();
         _wrapped.GetType().InvokeMember(member.Name, System.Reflection.BindingFlags.InvokeMethod, null, _wrapped,new object[] { value});
     }
     return true;
 }
Exemple #28
0
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     if(value is string)
         _values[binder.Name] = (string)value;
     else
         _values[binder.Name] = value.ToString();
     return true;
 }
Exemple #29
0
 public override bool TrySetMember(SetMemberBinder binder, object value)
 {
     if (_child.ContainsKey(binder.Name))
     {
         _child[binder.Name] = value;
     }
     return true;
 }
        public override bool TrySetMember(SetMemberBinder binder, object value)
        {
            if (!(value is IWrapper)) 
                value = Wrapper.Create(value, dynamicProperties);

            viewData[binder.Name] = value;
            return true;
        }
Exemple #31
0
 bool PerformSet(SetMemberBinder binder, object value) {
     bool success = false;
     var propDesc = TypeDescriptor.GetProperties(_depObj)[binder.Name];
     if (propDesc != null) {
         propDesc.SetValue(_depObj, value);
         success = true;
     }
     return success;
 }
Exemple #32
0
 public override bool TrySetMember(SetMemberBinder binder, object value) {
     bool success;
     if (_depObj.Dispatcher.CheckAccess()) {
         success = PerformSet(binder, value);
     } else {
         success = (bool)_depObj.Dispatcher.Invoke((Func<bool>)(() => PerformSet(binder, value)));
     }
     return success;
 }
Exemple #33
0
 /// <summary>
 /// Tries the set member.
 /// </summary>
 /// <param name="binder">The binder.</param>
 /// <param name="value">The value.</param>
 /// <returns></returns>
 public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
 {
     if (base.TrySetMember(binder, value))
     {
         this.Recording.Add(new Invocation(InvocationKind.Set, binder.Name, value));
         return(true);
     }
     return(false);
 }
        /// <summary>
        /// Tries to set a member value.
        /// </summary>
        /// <param name="binder">The binder to use.</param>
        /// <param name="value">The value to set.</param>
        /// <returns>True if the value was set.</returns>
        public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
        {
            if (binder == null)
            {
                throw new ArgumentNullException("binder");
            }

            data[binder.Name.ToUpperInvariant()] = value;
            return(true);
        }
Exemple #35
0
        // If you try to set a value of a property that is
        // not defined in the class, this method is called.
        public override bool TrySetMember(
            System.Dynamic.SetMemberBinder binder, object value)
        {
            // Converting the property name to lowercase
            // so that property names become case-insensitive.
            dictionary[binder.Name] = value;

            // You can always add a value to a dictionary,
            // so this method always returns true.
            return(true);
        }
Exemple #36
0
        /// <summary>
        /// 实现动态对象属性值设置的方法。
        /// </summary>
        /// <param name="binder"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
        {
            var propertyName = binder.Name;
            var property     = this.Define.GetProperty(propertyName);

            if (property == null)
            {
                throw new DomainDrivenException(string.Format(Strings.NoDefinitionProperty, this.Define.TypeName, propertyName));
            }
            SetValue(property, value);
            return(true);
        }
        /// <summary>
        /// Performs the binding of the dynamic set member operation.
        /// </summary>
        /// <param name="binder">An instance of the <see cref="T:System.Dynamic.SetMemberBinder" /> that represents the details of the dynamic operation.</param>
        /// <param name="value">The <see cref="T:System.Dynamic.DynamicMetaObject" /> representing the value for the set member operation.</param>
        /// <returns>The new <see cref="T:System.Dynamic.DynamicMetaObject" /> representing the result of the binding.</returns>
        public override System.Dynamic.DynamicMetaObject BindSetMember(System.Dynamic.SetMemberBinder binder, System.Dynamic.DynamicMetaObject value)
        {
            var parameters = new System.Linq.Expressions.Expression[]
            {
                System.Linq.Expressions.Expression.Constant(binder.Name),
                value.Expression,
            };

            var callMethod = CallMethod(setValueMethod, parameters);

            return(callMethod);
        }
        public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
        {
            var property = this.Model.Properties.FirstOrDefault(p => p.Name == binder.Name || p.PropertyName == binder.Name);

            if (property != null)
            {
                this[property] = value;
                return(true);
            }
            else
            {
                return(base.TrySetMember(binder, value));
            }
        }
Exemple #39
0
 /// <summary>
 /// Performs the binding of the dynamic set member operation.
 /// </summary>
 /// <param name="binder">An instance of the <see cref="SetMemberBinder"/> that represents the details of the dynamic operation.</param>
 /// <param name="value">The <see cref="DynamicMetaObject"/> representing the value for the set member operation.</param>
 /// <returns>The new <see cref="DynamicMetaObject"/> representing the result of the binding.</returns>
 public virtual DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value)
 {
     ContractUtils.RequiresNotNull(binder, nameof(binder));
     return(binder.FallbackSetMember(this, value));
 }
Exemple #40
0
 /// <summary>
 /// Provides the implementation of setting a member.  Derived classes can override
 /// this method to customize behavior.  When not overridden the call site requesting the
 /// binder determines the behavior.
 /// </summary>
 /// <param name="binder">The binder provided by the call site.</param>
 /// <param name="value">The value to set.</param>
 /// <returns>true if the operation is complete, false if the call site should determine behavior.</returns>
 public virtual bool TrySetMember(SetMemberBinder binder, object value)
 {
     return(false);
 }
Exemple #41
0
 public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
 {
     return(TrySetProperty(binder.Name, value));
 }
 public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
 {
     dictionary[binder.Name.ToLower()] = value;
     return(true);
 }
Exemple #43
0
        public virtual new System.Dynamic.DynamicMetaObject BindSetMember(SetMemberBinder binder, System.Dynamic.DynamicMetaObject value)
        {
            Contract.Requires(binder != null);

            return(default(System.Dynamic.DynamicMetaObject));
        }
Exemple #44
0
 /// <summary>
 /// 设置属性
 /// </summary>
 /// <param name="binder"></param>
 /// <param name="value"></param>
 /// <returns></returns>
 public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
 {
     this.PrivateDic[binder.Name] = value;
     return(true);
 }
 /// <summary>
 /// Tries to set the member.
 /// </summary>
 /// <param name="binder">The binder.</param>
 /// <param name="value">The value.</param>
 /// <returns></returns>
 public override bool TrySetMember(System.Dynamic.SetMemberBinder binder, object value)
 {
     return(RemoteInvoke(new Invocation(InvocationKind.Set, binder.Name, value), out value));
 }