Type.GetMember何时不明确

本文关键字:不明确 何时 GetMember Type | 更新日期: 2023-09-27 18:20:43

当调用Type.GetMember(string name, MemberTypes type, BindingFlags bindingAttr)时,假设bindingAttrBindingFlags.Default(即无关紧要),该信息何时不足以找到零个或一个成员。哪些类型的成员需要通过其他属性单独消除歧义?

Type.GetMember何时不明确

多个覆盖将返回多个结果:

 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项-您至少需要InstanceStatic。参见Type.GetMember:

必须指定BindingFlags.Instance或BindingFlags.Static才能获得返回。