我有一个带私有函数的静态类,我想获得除一个函数之外的所有函数。我尝试使用Ignorecase但是我得到了一个重载异常......我这样做就像在线很多例子但我得到一个错误,我不知道为什么......我错过了什么?
//例
static MethodInfo[] allFuncs ;
static Type myType = typeof(myClass);
allFuncs = myType.GetMethods("innerFunction",
BindingFlags.IgnoreCase | BindingFlags.NonPublic | BindingFlags.Static);
答案 0 :(得分:1)
如果您想要除具有特定名称的方法之外的所有方法,您可以使用Enumerable.Where
进行过滤:
allFuncs = typeof(MyClass).GetMethods(BindingFlags.NonPublic | BindingFlags.Static)
.Where(method => !method.Name.Equals(
"innerFunction", StringComparison.OrdinalIgnoreCase));