DynamicParameters в файле .config - PullRequest
0 голосов
/ 08 июля 2011

Я нахожусь в ситуации, когда мне нужно сделать что-то похожее на следующее:

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, а не в коде.... Является ли это возможным??... вероятно, нет ... так что бы было хорошим альтернативным решением

NB 'mystaticclass' не то, что я могу изменить, однако я бы хотел использовать mystaticclass2.filenameв некоторых конфигурациях ....

TIA

Sørn

1 Ответ

0 голосов
/ 08 июля 2011

Нет, это невозможно с XML, в основном потому, что параметры dynamic ... хорошо - динамичны, и это то, что не может быть выражено в XML. Ваш случай выглядит довольно статично, так что, если вы действительно думаете, что это то, что вам нужно, вы можете легко реализовать поддержку через IContributeComponentModelConstruction

...