这是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;
}
}
来自 MSDN::
TryInvoke
为调用对象
TryInvokeMember
的操作提供实现:为调用成员的操作提供实现
我想知道这两种方法之间的真正区别,因为它们的语法和实现几乎相同。我已经知道 TryInvoke if 用于对象或委托,而 TryInvokeMember 用于方法,但是为什么要使用两个方法呢?一个很好的例子将不胜感激。