0
所以这可能是一件非常简单的事情,但我想知道委托的概念是否合适。如何使用代理在c#中创建钩子
我有以下的方法说在我的主
PrintName();
GetId()
如果我想添加“GetPhone()”如果你将注入它在我的主,我使用委托呢?
我的想法是编译器会调用main,并且只能识别那里的方法,并且不知道GetPhone()是否存在(因为我只是将它添加到文件夹中的某处),这种架构的推理是我希望能够创建一个即插即用的概念。
谢谢。
如果你想操作一个编译好的二进制文件,你不会四处寻找MSIL代码并修改它。从ILSpy和一些IL教程开始,然后你会看到如何自己向函数注入调用。 –
可以动态加载新程序集('Assembly.LoadFile')。通常,如果您想要即插即用,您可以编写一些插件代码所针对的接口。然后,在您的应用程序中,您可以添加查看特定目录的代码,并加载所有程序集。然后你抓住界面上定义的类型,并像往常一样执行它们。 – Rob
@MaximilianGerhardt它根本没有看起来像他们想修改二进制文件,但创建插件功能 – Rob