2010-03-11 77 views
3

是否有任何方式通過類型的字符串名稱從StructureMap ObjectFactory請求實例?例如,它會是不錯的做這樣的事情:按類型名稱從StructureMap獲取實例

var thing = ObjectFactory.GetInstance("Thing"); 

用例這裏是其中的信息是非常通用,幷包含一個任務的唯一名稱的消息傳遞方案。處理程序接收消息,從消息中獲取任務名稱,並從配置數據庫中檢索關聯的任務運行程序的類型名稱。 StructureMap掃描目錄中的所有程序集,其中一個會(大概)包含從配置數據庫返回的類型,然後需要實例化。

另一種可能是通過做搶類型實例如下:

var type = Type.GetType("Thing"); 

但問題有組裝可能會或可能/不可能在AppDomain中加載,使反射調用並不總是可能。

+1

如果StructureMap已掃描程序集,它們將加載到AppDomain中。如果Type.GetType()不能得到它,StructureMap將無法做到。 – 2010-03-12 14:09:11

回答

0

我最近有GetType完全相同的問題沒有返回類型事件,雖然StructureMap已經從掃描的程序集正確加載它。

我的問題是我沒有使用程序集限定名,我推測沒有這個GetType方法只是在當前程序集中查找。

無論如何,添加全名排序我的問題。

希望這會有所幫助。

Ian