是否有可能在C#中运行时计算类的哈希值(可能是通过反射)?为了清楚起见,我不想计算所述类的实例的哈希码,我想计算类代码本身的哈希值(如果类中的函数发生变化,我希望不同的哈希码是计算)。理想情况下,这只会对目标代码中的更改敏感(而不仅仅是代码本身的字符串表示的哈希)。
先谢谢你的帮助,
- 布雷克
答案 0 :(得分:6)
如果您拥有Type
,则可以使用GetMethod
来获取MethodInfo
的实例,而{{1}}的实例又会返回所述方法的IL GetMethodBody
。然后你可以哈希那个。
我很好奇。你为什么要首先这样做?
答案 1 :(得分:0)
您不需要使用反射。您可以尝试System.Type.GetHashCode()
。我不确定它是如何工作的,如果不是最佳的,那么你总是可以使用type.FullName.GetHashCode()