[英]How to intercept method calls in C#
我想在 C# 中调用 3rd 方代码时拦截并注入自定义代码。 我正在使用外部库 (AutoIt) 进行 GUI 自动化。 AutoIt dll 不提供源代码。
使用此框架完成的所有操作都是从单个类 ( AutoItClass
) 执行的,提供对所有方法的访问。 我希望能够在调用此类上的方法时注入自定义代码,这可能吗? 例如:
通过从此类继承并覆盖其所有方法(这是必须的,因为这是一个 COM 对象),这可以非常简单地实现,但这不是首选方式。 任何评论都会有帮助!
我不会使用继承 - 你可以在这里使用组合。 创建您自己的具有相同方法的类 - 或者实际上只有您感兴趣的类 - 并通过它进行委托。 这样你就可以确保你不会意外“错过”任何方法,因为你没有实现的任何东西都不能通过你的代码库的其余部分调用......只要你确保你的代码的其余部分没有'当然不是指原始库类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.