c# - 查找程序集中某个类的所有用途

标签 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
}

最佳答案

您只能通过查看元数据并通过 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

关于c# - 查找程序集中某个类的所有用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23666398/

相关文章:

scala - 使用新的 Scala 反射 API 获取伴随对象实例

java - 给定一个对象和一个 Class<?>,我可以判断该对象是否属于该类的子类型吗? (GWT,客户端)

c# - 为什么 "decimal.TryParse()"在下面的代码中对于输入字符串 "-1"总是返回 0?

c# - C# 中的 0.0/0.0 不会抛出 "Attempted to divide by zero."?

c# - .NET 中 UniqueQueue 和 UniqueReplacementQueue 集合的最高效实现

.net - 为什么事件在 .NET 中没有返回类型?

c# - 在 C# 汇编版本中使用前导零是否合适?

c# - 在运行时将委托(delegate)转换为 Action<T> 或 Func<T>

c# - 用另一个列表<object2>过滤列表<object> C# LINQ

c# - 一次检索多个实体的实体请求?