通过从 DynamicObject 继承类 B,使用动态作为运行脚本的方法的参数类型并在类 B 中执行此操作
public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
{
base.TryInvokeMember(binder, args, out result);
return true;
}
public override bool TryInvoke(InvokeBinder binder, object[] args, out object result)
{
base.TryInvoke(binder, args, out result);
return true;
}
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
base.TryGetMember(binder, out result);
return true;
}
public override bool TrySetMember(SetMemberBinder binder, object value)
{
base.TrySetMember(binder, value);
return true;
}
我可以实现我的要求。以这种方式忽略对不存在的方法或属性的每次调用。无论呼叫来自什么来源。但是,对现有方法/属性的调用照常工作。