2009-04-21 143 views
1

我將使用StructureMap作爲執行DI的一種方法。我將使用xml作爲我的DI配置。我有兩個問題。如何使用cumstomized配置xml文件?

第一個是如何使用定製的xml文件名而不是StructureMap.Config?舉例來說,在我的控制檯應用程序,如果我想使用myDIStructure.config文件,我應該在main()使用的類和方法:

private static void main(string[] args) { 
    //? OjbectFactory.UserConfigurationFile = "myDIStructure.config"; 
    Program program = ObjectFactory.GetInstance<Program>(); 
    ... 
} 

第二個問題是我如何定義泛型接口與類鍵入我的配置文件。例如,我有以下的接口和類:

public interface ProcessData<T> { 
    void ReadData(T data); 
    void ProcessData(T data); 
    void SaveData(T data); 
} 
... 
public class Data1 {....} // this class will be used for ProcessData<T> 
.... 
public class MyProcessData : ProcessData<Data1> {....} // implementation class 

然後在我的控制檯應用程序,我想用PlugInFamily的過程數據接口類型,以及插件MyProcessData。不知道這是否可能在StructionMap中以及如何?

回答

1

首先 - 我越來越認爲xml配置選項現在主要是爲了向後兼容。主要的StructureMap代碼現在使用基於代碼的註冊表方法。

重新使用自定義文件;我沒有嘗試過,但StructureMapConfiguration.IncludeConfigurationFromFile(...)看起來很有希望。

重新仿製藥......實際上,這是XML ;-p複雜性的一個

編輯:在user group基於this post,它看起來像也許背打勾符號將工作:

<DefaultInstance 
    PluginType="MyDemo.IRepository`1, MyDemo" 
    PluggedType="MyDemo.UserRepository , MyDemo" /> 
相關問題