调用Type.GetMember(string name, MemberTypes type, BindingFlags bindingAttr)
时,此信息何时不足以找到零个或一个成员,假设bindingAttr
为BindingFlags.Default
(即无关紧要)。什么类型的成员需要通过其他属性单独消除歧义?
答案 0 :(得分:2)
多个覆盖将返回多个结果:
class X
{
public int GetX(){ return 1;}
public int GetX(string s){ return 2;}
}
var r = typeof(X).GetMember("GetX", MemberTypes.Method,
BindingFlags.Instance|BindingFlags.Public); // 2 items
请注意,指定Default
将始终返回0项 - 您至少需要Instance
或Static
。见Type.GetMember:
您必须指定BindingFlags.Instance或BindingFlags.Static才能获得返回。