确定 class 是否已更改(不是对象)
Determine if class has changed (not object)
有什么方法可以确定构建 class 的代码是否已更改?就像检索某种内容的哈希值一样。
我有很多 classes 用于生成文本文件。
目前我正在尝试为程序在运行时找出一种方法来确定自上一代以来是否有人以任何方式更改了 class (从而知道文件是否需要再次生成或可以保留原样是)。
示例:
- 有人使用该程序并生成了很多文件。缓存被建立并保存为一个文件,其中包含每个 class 生成文件的缓存信息。
- 几天后有人使用该程序并且没有任何变化,因此缓存为每个文件确定它们不必重新生成。
- 有人稍微更改了其中一个 classes,因此它的输出应该会略有不同。
- 下次有人使用该程序生成由更改的 class 创建的那些特定文件时,应该重新生成。
我知道我可以使用某种增量版本解决方案,但我真的希望它比这更聪明。即使只是在 Visual Studio.
中调试,我也需要它才能工作
计算您的 类 文件的校验和(使用 md5、sha1、sha2 或任何您喜欢的),将它们存储在某处并在校验和不匹配时重新生成您的 类。
所有提到的算法实际上都是加密哈希,因此它们具有很强的抗冲突性。因此意外校验和不匹配的可能性非常低。
有什么方法可以确定构建 class 的代码是否已更改?就像检索某种内容的哈希值一样。
我有很多 classes 用于生成文本文件。 目前我正在尝试为程序在运行时找出一种方法来确定自上一代以来是否有人以任何方式更改了 class (从而知道文件是否需要再次生成或可以保留原样是)。
示例:
- 有人使用该程序并生成了很多文件。缓存被建立并保存为一个文件,其中包含每个 class 生成文件的缓存信息。
- 几天后有人使用该程序并且没有任何变化,因此缓存为每个文件确定它们不必重新生成。
- 有人稍微更改了其中一个 classes,因此它的输出应该会略有不同。
- 下次有人使用该程序生成由更改的 class 创建的那些特定文件时,应该重新生成。
我知道我可以使用某种增量版本解决方案,但我真的希望它比这更聪明。即使只是在 Visual Studio.
中调试,我也需要它才能工作计算您的 类 文件的校验和(使用 md5、sha1、sha2 或任何您喜欢的),将它们存储在某处并在校验和不匹配时重新生成您的 类。
所有提到的算法实际上都是加密哈希,因此它们具有很强的抗冲突性。因此意外校验和不匹配的可能性非常低。