繁体   English   中英

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

[英]Is it possible to monitor changes in an internal class?

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

现在,如果宿主应用程序中的方法发生更改,则自然必须重新编译脚本,否则您将获得异常,因为子级中的调用不再与父级匹配。 但是我不想每次重新编译应用程序时都重新编译每个脚本,因为在大多数情况下,更改与脚本基类无关。

是否有可能在运行时(反射?)在基类,其方法和参数中创建一种方法的“快照”,以便能够告知何时发生了更改,所以我知道我必须重新编译脚本?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM