代码之家  ›  专栏  ›  技术社区  ›  mpen

不区分大小写的GetMethod?

  •  14
  • mpen  · 技术社区  · 15 年前
    foreach(var filter in filters)
    {
        var filterType = typeof(Filters);
        var method = filterType.GetMethod(filter);
        if (method != null) value = (string)method.Invoke(null, new[] { value });
    }
    

    3 回复  |  直到 15 年前
        1
  •  28
  •   Hans Passant    10 年前

    是,使用BindingFlags.IgnoreCase:

    var method = filterType.GetMethod(filter, 
        BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance);
    

        2
  •  4
  •   jyoung    15 年前

    要获取与GetMethod(filter)类似的方法,除非它忽略了您需要的情况:

    var method = filterType.GetMethod(filter, BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance| BindingFlags.IgnoreCase);
    

    var method=filterType.GetMethod(过滤器,BindingFlags.IgnoreCase);

        3
  •  2
  •   Logan Capaldo    15 年前

    GetMethod ,特别注意 BindingFlags IgnoreCase .