是否有可能在程序集中找到类的所有用途?
[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
}
您可以通过查看元数据并通过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