예제 #1
0
        public override DynamicMetaObject BindSetMember(SetMemberBinder binder, DynamicMetaObject value)
        {
            Expression expr = Expression.Assign(Expression.Property(Expression.Convert(Expression, typeof(EcmaValue)), "Item", Expression.Constant(new EcmaPropertyKey(binder.Name))),
                                                EcmaValueUtility.ConvertToEcmaValueExpression(value.Expression));

            return(ReturnDynamicMetaObject(binder, expr));
        }
예제 #2
0
 private Expression GetConvertToEcmaValueExpression(DynamicMetaObject arg)
 {
     return(arg.HasValue ? Expression.Constant(new EcmaValue(arg.Value)) : EcmaValueUtility.ConvertToEcmaValueExpression(arg.Expression));
 }