Castle Windsor Container初用的一些问题
1.引用的问题。
原文:“1.新建一个C#工程,添加对以下Dll的引用
Castle.DynamicProxy.dll
Castle.MicroKernel.dll
Castle.Model.dll
Castle.Windsor.dll
”到CastleProject.org当下来的最新的for .net2.0的包中,一看bin下,没有Castle.Model.dll。有点傻眼了。只能写写看少什么再加。
先把
Castle.DynamicProxy.dll,Castle.MicroKernel.dll,Castle.Windsor.dll添加到引用。
编译时提示未添加对文件Castle.Core.dll的引用。加上。
然后运行提示未能加载程序集Castle.DynamicProxy2.dll,找不到该文件。于将该文件拷到bin下。
运行通过。
输出:Output:[[welcom arlen]]xyz.txt
IWindsorContainer container = new WindsorContainer("http://www.cnblogs.com/Basic.xml");
container.AddComponent("textlog", typeof(ILog), typeof(TextFileLog));
container.AddComponent("textformator", typeof(IFormator), typeof(TextFormator));
ILog log = (ILog)container["textlog"];
log.Write("welcom arlen");
如果不用容器,则需这样写:
//IFormator formator = new TextFormator();
//ILog log = new TextFileLog("xyz.txt", formator);
//log.Write("welcom arlen");
发现用了Windsor Container后,不用再传个formator给log了,容器自动将这个TextFormator装载了。
问题:如果我Add了多个Formator,windsor怎么知道我要装载哪一个?可能它会默认加载第几个。那我要指定装载哪个怎么办?
源码solution:mysolution