是否可以监控内部类的更改?

时间:2015-04-29 06:31:46

标签: c# .net scripting

我在运行时使用CSScript将C#文件作为脚本加载。这些脚本继承自宿主应用程序内的类。为了加快加载速度,我要缓存脚本,或者更确切地说是编译过的程序集,如果它们比脚本文件更新,则加载它们。

现在,如果主机应用程序中的方法发生更改,则必须重新编译脚本,否则会出现异常,因为子节点中的调用不再与父节点匹配。但是每次重新编译应用程序时,我都不想重新编译每个脚本,因为大多数时候这些更改都与脚本基类无关。

是否可以创建一种"快照"基类中的方法,它们的方法和参数,在运行时(反射?),能够告诉什么时候发生了变化,所以我知道我必须重新编译脚本吗?

1 个答案:

答案 0 :(得分:0)

计算脚本文件的哈希值,并在加载时进行比较。如果哈希值已更改,则脚本文件已被修改。

请参阅https://support.microsoft.com/en-gb/kb/307020