Example #1
0
        public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args)
        {
            //获取真正的对象
            DynamicType2 target       = (DynamicType2)base.Value;
            Expression   self         = Expression.Convert(base.Expression, typeof(DynamicType2));
            var          restrictions = BindingRestrictions.GetInstanceRestriction(self, target);

            //获取绑定方法名
            Console.WriteLine(binder.Name + "方法被调用了");

            return(new DynamicMetaObject(self, restrictions));
        }
Example #2
0
 //继承父类的构造函数
 internal MetaDynamic(Expression ex, DynamicType2 value) : base(ex, BindingRestrictions.Empty, value)
 {
 }