1

我的一门课有这样的属性:

ICollection<IValidationError> collection { get; set; }

我将 Windsor 设置为使用 CollectionResolver 子解析器:

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

然而,温莎给了我一个里面有一个Collection<ValidationError>对象的对象。 ValidationError

有没有办法让温莎创建一个简单的空集合?

4

1 回答 1

1

如果我将一个空列表声明为构造函数的参数,它似乎可以工作:

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

但这不是一种非常干净的方式。此外,它还强制您拥有一个将集合作为参数的构造函数。

如果有人找到更好的方法来完成此操作,请将其发布,我会将其标记为已接受。

于 2013-07-02T15:40:09.773 回答