我正在嘗試構建一個使用插件的核心應用程序,以便核心永不改變,每次我們獲得新客戶端時,我們都會爲它們編寫一個模塊。我們使用新的客戶類實現了一個名爲IClientPlugin的接口。如何讓一個核心類調用一個客戶類?
這是使用Compact Framework 3.5和Windows Mobile 6.5.3。
所以這是我需要acheive:
這是一個倉庫管理系統。第一項任務是從卡車的產品中接收手持設備掃描條碼的條形碼。
當用戶點擊接收菜單項時,核心模塊就會啓動。
的核心方法是 - callClientMethod()
我知道客戶的名字,它是在登錄存儲在一個全局變量和類將是{clientname}.cs
幷包含一個名爲processReceiving()
方法。
我知道如何實例化這個對象。
問題是:有沒有一種方法可以動態創建客戶端類的實例,而無需硬編碼case語句?
例如,假設我有2個客戶端Acme和Widgets。他們每個人都得到一個客戶端類,即Acme.cs
和Widgets.cs
如果我登錄爲阿克米或小工具我想要的代碼,以動態創建客戶端類的實例,我的身份登錄,使核心代碼沒有改變因爲只要爲他們添加模塊,我就可以添加更多的客戶端。
僞例如:
var myClient = New (Clientname)();
這是可能的,或者有更好的設計方法,或者說是開關/ case語句neccessary邪?
角括號會被系統所佔用,所以我將它改爲'{clientname} .cs'。不是一個C#程序員我不知道如果這是可以接受的指示樣板。 – Verbeia
我想人們仍然會感謝佛貝拉。 –
客戶類是否駐留在同一個程序集中? – misha