我遇到的情况是,我需要做类似以下的事情:
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文件中配置它,而不是在代码中....这可能吗? ......可能不是......所以什么是一个很好的替代解决方案
N.B。 'mystaticclass'不是我能够改变的东西,但是我希望能够在某些配置中使用mystaticclass2.filename ....
TIA
SORN
答案 0 :(得分:0)
不,不可能使用XML,主要是因为动态参数是......良好的动态,而且这是无法用XML表达的东西。你的案例看起来很静态,所以猜猜你是否真的认为这是你想要的,你可以很容易地通过IContributeComponentModelConstruction