0
所以這可能是一件非常簡單的事情,但我想知道委託的概念是否合適。如何使用代理在c#中創建鉤子
我有以下的方法說在我的主
PrintName();
GetId()
如果我想添加「GetPhone()」如果你將注入它在我的主,我使用委託呢?
我的想法是編譯器會調用main,並且只能識別那裏的方法,並且不知道GetPhone()是否存在(因爲我只是將它添加到文件夾中的某處),這種架構的推理是我希望能夠創建一個即插即用的概念。
謝謝。
如果你想操作一個編譯好的二進制文件,你不會四處尋找MSIL代碼並修改它。從ILSpy和一些IL教程開始,然後你會看到如何自己向函數注入調用。 –
可以動態加載新程序集('Assembly.LoadFile')。通常,如果您想要即插即用,您可以編寫一些插件代碼所針對的接口。然後,在您的應用程序中,您可以添加查看特定目錄的代碼,並加載所有程序集。然後你抓住界面上定義的類型,並像往常一樣執行它們。 – Rob
@MaximilianGerhardt它根本沒有看起來像他們想修改二進制文件,但創建插件功能 – Rob