Передача свойства зарегистрированного типа в конструктор другого с использованием конфигурации xml - PullRequest
0 голосов
/ 14 декабря 2011

Я хочу настроить контейнер для единства с использованием ТОЛЬКО xml (без свободного API), и у меня сложная задача.У меня есть интерфейс, который выглядит так:

public interface ISettingsDistributor {
    String TargetProperty;
}

И его реализация SettingsDistributor

public interface ISettingsConsumer { }
public class SettingsConsumer :ISettingsConsumer, OtherType {
    public SettingsConsumer(String theParameter) : base(theParameter) {

    }
}

Это потребитель этого параметра.Ниже приведен раздел конфигурации, который я построил до сих пор.(typeAlias es и другие вещи опущены)

   <containers>
        <container name="container">
            <types>
                <type type="ISettingsDistributor" mapTo="SettingsDistributor">
                    <lifetime type="singleton" />
                </type>
                <type type="ISettingsConsumer" mapTo="SettingsConsumer">
                    <lifetime type="perThread" />
                </type>                    
            </types>
        </container>
    </containers>

Как можно сказать единству в этом XML-файле, что при попытке разрешить тип ISettingsConsumer сначала необходимо разрешить ISettingsDistributor ивнедрить его TargetProperty член в качестве значения для конструктора?

1 Ответ

1 голос
/ 15 декабря 2011

Почему бы вам просто не ввести свой ISettingsDistributor? Он все равно будет источником вашей волшебной строки. Так в чем же проблема?

...