温莎城堡-配置文件中的动态参数



我的情况是,我需要做一些类似于下面的事情:

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。某些配置中的文件名....

TIA

Sørn

不,XML不可能,主要是因为动态参数…动态的,这是不能用XML表示的。你的情况看起来很静态,所以我猜如果你真的认为这是你想要的你可以很容易地通过IContributeComponentModelConstruction

实现对它的支持

最新更新