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)); }
//继承父类的构造函数 internal MetaDynamic(Expression ex, DynamicType2 value) : base(ex, BindingRestrictions.Empty, value) { }