«Применение метода Setter Injection к существующему объекту» Могу ли я сделать это? - PullRequest
0 голосов
/ 02 сентября 2011

Два существующих объекта SetAllProperties () Должен ли я использовать это?

        var theGateway1 = new DefaultGateway();
        var something = new Something();
        ObjectFactory.Initialize(x =>

        {

            x.ForRequestedType<IGateway>().TheDefault.IsThis(theGateway);
            x.ForRequestedType<ISomething>().TheDefault.IsThis(something); 

            // First we create a new Setter Injection Policy that

            // forces StructureMap to inject all public properties

            // where the PropertyType is IGateway

            x.SetAllProperties(y =>

            {

                y.OfType<IGateway>();
                y.OfType<ISomthing>();

            });

        });

1 Ответ

0 голосов
/ 08 сентября 2011

Если вы действительно хотите внедрить все сеттеры с этими двумя экземплярами, это нормально. Просто используйте новый синтаксис:

        ObjectFactory.Initialize(x =>
        {
            x.For<IGateway>().Use(theGateway);
            x.For<ISomething>().Use(something);

            x.SetAllProperties(y =>
            {
                y.OfType<IGateway>();
                y.OfType<ISomething>();
            });
        });
...