2009-04-21 145 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" /> 
相关问题