查找程序集中类的所有用法

时间:2014-05-14 22:43:51

标签: c# .net reflection nunit il

是否可以在程序集中找到类的所有用法?

[Test]
public void Test()
{
    var numUsages = FindUsages(typeof(MyDeprecatedType),typeof(MyDeprecatedType).Assembly);
    Assert.LessOrEqual(expectedNumUsages, numUsages);
}

public static int FindUsages(Type type, Assembly assembly)
{
    return //Num usages of deprecated type
}

1 个答案:

答案 0 :(得分:0)

只有通过查看元数据并通过methodbase.getmethodbody解释方法体启用,才能通过反射来实现。

http://msdn.microsoft.com/fr-fr/library/system.reflection.methodbase.getmethodbody%28v=vs.110%29.aspx

您可以像这样阅读方法体:

http://www.codeproject.com/Articles/14058/Parsing-the-IL-of-a-Method-Body