2011-09-01 42 views
0

兩個現有對象SetAllProperties()我應該使用它嗎?「將Setter注入應用到現有對象」我可以這樣做嗎?

 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>(); 

      }); 

     }); 
+0

你究竟想要什麼?這兩個對象注入屬性或只是它們的類型的實例? –

回答

0

如果你真的想要注入這兩個實例的所有設置器,那沒關係。只需使用新的語法:

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

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