如何使用cumstomized配置xml文件?

时间:2009-04-21 05:18:18

标签: .net structuremap

我将使用StructureMap作为DI的一种方式。我将使用xml作为我的DI配置。我有两个问题。

第一个是如何使用惯用的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用于ProcessData接口类型,并使用Plugin for MyProcessData。不确定这在StructionMap中是否可行以及如何实现?

1 个答案:

答案 0 :(得分:1)

首先 - 我越来越认为xml配置选项现在主要用于向后兼容。主要的StructureMap代码现在使用基于代码的注册表方法。

重新使用自定义文件;我没有尝试过,但StructureMapConfiguration.IncludeConfigurationFromFile(...)看起来很有希望。

重复泛型......确实,这是xml ;-p

的复杂性之一

修改:根据this post中的user group,看起来可能后面的刻度表示法将起作用:

<DefaultInstance 
  PluginType="MyDemo.IRepository`1, MyDemo" 
  PluggedType="MyDemo.UserRepository , MyDemo" /> 
相关问题