在运行时计算类代码的哈希值(C#)?

时间:2010-03-19 20:44:13

标签: c# reflection

是否有可能在C#中运行时计算类的哈希值(可能是通过反射)?为了清楚起见,我不想计算所述类的实例的哈希码,我想计算类代码本身的哈希值(如果类中的函数发生变化,我希望不同的哈希码是计算)。理想情况下,这只会对目标代码中的更改敏感(而不仅仅是代码本身的字符串表示的哈希)。

先谢谢你的帮助,

- 布雷克

2 个答案:

答案 0 :(得分:6)

如果您拥有Type,则可以使用GetMethod来获取MethodInfo的实例,而{{1}}的实例又会返回所述方法的IL GetMethodBody。然后你可以哈希那个。

我很好奇。你为什么要首先这样做?

答案 1 :(得分:0)

您不需要使用反射。您可以尝试System.Type.GetHashCode()。我不确定它是如何工作的,如果不是最佳的,那么你总是可以使用type.FullName.GetHashCode()