我所处的情况是,我需要做类似于以下内容的事情:
public static class mystaticclass
{
public static string filename { get; private set; }
static mystaticclass()
{
filename = "C:\\test.test";
}
}
public class myclass
{
public string filename;
public myclass(string filename)
{
this.filename = filename;
}
}
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var container = new WindsorContainer().Install(Configuration.FromXmlFile("Windsor.config"));
container.Register(Component.For<myclass>()
.DynamicParameters((k, d) =>
{
d["filename"] = mystaticclass.filename;
}));
var tmp=container.Resolve<myclass>();
}
}然而,我非常希望在.config文件中配置它,而不是在代码中。有可能吗??...可能不会..。那么什么是一个好的替代解决方案呢?
注:'mystaticclass‘不是我能够更改的东西,但是我希望能够在某些配置中使用mystaticclass2.filename……
提亚
Sørn
发布于 2011-07-08 20:14:30
不,使用XML是不可能的,主要是因为动态参数...动态的,这是不能用XML表达的。您的用例看起来非常静态,所以如果您真的认为这就是您想要的,那么可以很容易地通过IContributeComponentModelConstruction实现对它的支持
https://stackoverflow.com/questions/6624057
复制相似问题