Я использую autofac framework с конфигурацией xml. У меня есть вопрос, вот ситуация. У меня есть класс с именем ApplicationConfig, который содержит массив объектов, который реализует интерфейс. И у меня есть два метода Начать и закончить. Идея состоит в том, чтобы вызвать метод start в начале приложения и завершить в конце.
Чтобы установить объекты, я вызываю SetConfigurations, у которого есть переменные числа аргументов.
Вот код:
public class ApplicationConfig
{
private IAppConfiguration[] configurators;
public void SetConfigurations(params IAppConfiguration[] appConfigs)
{
this.configurators = appConfigs ?? new IAppConfiguration[0];
}
public void Start()
{
foreach (IAppConfiguration conf in this.configurators)
conf.OnStart();
}
public void Finish()
{
foreach (IAppConfiguration conf in this.configurators)
conf.OnFinish();
}
}
XML
<component type="SPCore.ApplicationConfig, SPCore"
instance-scope="single-instance">
</component>
Мне просто интересно, смогу ли я через xml настроить компоненты, которые будут запускаться в начале приложения, вместо SetConfigurations
. Я использую SetConfigurations
в коде приложения.
Так что я хочу что-то подобное.
конструктор класса
public ApplicationConfig(params IAppConfiguration[] appConfigs)
{
this.configurators = appConfigs;
}
XML
<component type="SPCore.ApplicationConfiguration.ConfigurationParamters, SPCore"
instance-scope="single-instance">
</component>
<component type="SPCore.ApplicationConfig, SPCore" instance-scope="single-instance">
<parameters>
<parameter>--Any componet--</parameter>
<parameter>--Any componet--</parameter>
....
....
<parameter>--Any componet--</parameter>
</parameters>
</component>
Я не знаю, как указать параметры для конструктора, которые являются другими компонентами ..
Итак, я хочу иметь возможность настроить приложение без компиляции.