castle-windsor
  • params
  • 2011-02-03 73 views 0 likes 
    0

    我正在使用Castle.Windsor,我正在研究參數注入。溫莎變量參數注入

    <?xml version="1.0" encoding="utf-8" ?> 
    <configuration> 
        <components> 
        <component id='plugin' service='PluginApp.IPlugin, PluginApp' type='MainPlugin.Plugin, MainPlugin' />  
        <component id='pluginManager' service='PluginApp.IPluginManager, PluginApp' type='PluginApp.PluginManager'> 
         <parameters> 
         <plugin>${plugin}</plugin>   
         </parameters> 
        </component> 
        </components> 
    </configuration> 
    

    這是我的課

    public class PluginManager : IPluginManager 
        { 
         public IList<IPlugin> Plugins { get; protected set; } 
    
         public PluginManager(IPlugin plugin) 
         { 
          this.Plugins = new List<IPlugin>(); 
          this.Plugins.Add(plugin); 
         } 
    
        } 
    

    我想更新我的插件管理,以接受可變數量的插件,例如

    public class PluginManager : IPluginManager 
    { 
        public IList<IPlugin> Plugins { get; protected set; } 
    
        public PluginManager(params IPlugin[] plugins) 
        { 
         this.Plugins = new List<IPlugin>(); 
         foreach(IPlugin plugin in plugins) this.Plugins.Add(plugin); 
        }  
    } 
    

    溫莎是否支持呢?我如何設置我的XML?

    回答

    1
    +0

    謝謝 - 這是我找到的解決方案。 – Liath 2011-02-03 22:55:34

    相關問題