2011-01-13 84 views
0

我需要能夠允許修改/修補程序進行非常簡單的遊戲。本質上,我需要允許一個文件夾充滿DLL文件加載,並使其功能覆蓋原始應用程序的功能。允許修改/修改C#遊戲的術語

我知道鉤子系統的基礎知識,其中一行代碼可以放在整個應用程序源中,以便從外部變量和類似項中「引入」代碼。

我試圖尋找這個,但是因爲我不確定這個術語,我最終篩選了大約30個網站,然後回到遊戲網站,提供關於如何特別修改他們的遊戲的說明。此信息是有幫助的,但我需要一點幫助

我的問題是:是否有一個共同的術語,我試圖實現這將有助於我在谷歌搜索?

回答

3

您應該可以查找.NET plug-in/add-in框架。自3.5以來的.NET Fx包含它自己的加載項框架,但這可能會超出您的要求。因此,您希望在.NET中實現的功能非常簡單 - 下面是它的大致概述:

  1. 定義需要由第三方實現的各種接口(掛鉤)。將它們打包在一個單獨的dll文件中。
  2. 創建一個配置項(配置項),它將接受實現必需接口的完全限定類型名稱。
  3. 在你的程序中,使用上面的配置條目加載類型。您可以使用反射(請參閱Activator.CreateInstance)。將對象轉換爲接口並使用它。
  4. 第三方應該提供這些接口的實現並將dll置於應用程序文件夾下。並修改配置條目來放置類型名稱。
2

不確定,但在.NET上下文中,MEF(託管可擴展框架)或System.AddIns可以工作。

+1

+1:從該問題的描述中,[MEF](http://msdn.microsoft.com/en-us/library/dd460648.aspx)的確聽起來像是一個完美契合。 – 2011-01-13 08:17:54