1

我的一個班有這樣的特性:解決與溫莎城堡空集

ICollection<IValidationError> collection { get; set; } 

我設置溫莎使用CollectionResolver subresolver這樣:

_container.Kernel.Resolver.AddSubResolver(new CollectionResolver(_container.Kernel, true)); 

然而,溫莎給了我一個Collection<ValidationError>對象ONEValidationError對象內部。

有沒有辦法讓溫莎創建一個簡單的空集合呢?

+0

'container.Kernel.Resolver.AddSubResolver(new CollectionResolver(container.Kernel,true));'按預期工作。無需操作配置。也許你有一個autoresolve設置。 –

回答

1

它似乎工作,如果我宣佈一個空列表作爲參數的構造器:

<component id="MyClass" 
      type="MyClass, WindsorSample"> 
    <parameters> 
    <myCollection> 
     <list> 
     </list> 
    </myCollection> 
    </parameters> 
</component> 

但是,這不是做的一個非常乾淨的方式。 此外,它強制你有一個構造函數,它將集合作爲參數。

如果有人找到更好的方法來完成此任務,請將其張貼並標記爲已接受。