这是DynamicObject课程的一部分:
public class DynamicObject : IDynamicMetaObjectProvider
{
...
public virtual bool TryInvoke(InvokeBinder binder, object[] args, out object result)
{
result = (object) null;
return false;
}
...
public virtual bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
{
result = (object) null;
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
来自MSDN ::
TryInvoke提供调用对象
TryInvokeMember的操作的实现:为调用成员的操作提供实现
我想知道这两种方法之间的真正区别,因为它们具有几乎相同的语法和实现.我已经知道TryInvoke如果用于对象或委托,而TryInvokeMember用于方法,但为什么有两种方法呢?一个很好的例子将不胜感激.