我有一个包含一些类的dll文件,这些类中有一些方法。这些方法中有一些又调用了其他方法。
如何检查类中的某个方法是否有特定的方法?我已经通过Google找到了dll文件中的类,如下所示:
public List < string > GetClassFromDlLstring(string dllName)
{
Assembly assemblies = null;
try
{
assemblies = Assembly.LoadFrom(dllName);
}
catch (Exception ex)
{
}
var allTypes = assemblies.GetTypes();
return (from allType in allTypes where allType.IsClass select allType.ToString()).ToList();
}
同样,查找类中所有方法的方法如下所示:
public List <string> GetAllTMethodClass(string dllName, string className)
{
var assemblies = Assembly.LoadFrom(dllName);
Type type = assemblies.GetType(className);
var temp = new List <string> ();
try
{
MethodInfo[] methods = type.GetMethods();
//MethodInfo[] methods = type.GetMethods(BindingFlags.Instance);
foreach(MethodInfo meth in methods)
{
if (meth.MemberType == MemberTypes.Method && meth.MemberType != MemberTypes.Property)
temp.Add(meth.Name);
}
}
catch (Exception ex)
{
}
return temp;
}
我现在有一个问题,上面的函数返回属性名称。
此外,我想遍历函数列表并检查函数是否包含特定函数。我该如何实现?
编辑1:
我找到了类似的帖子,链接如下:
- 使用反射查看方法内是否调用了方法
- 获取C#方法体中使用的类型