0

我正在使用具有类的第三方 API。此类的构造函数接受IList<CustomType>. 这是根据其文档的构造函数

public LogicalOrFilter(
IList<ElementFilter> filters
)

我尝试在list<ElementFilter>初始化此对象时传入 a 。但是它不起作用,它不会引发任何运行时错误。作为第三方 API,我不知道它的内部工作原理。这个类有另一个构造函数,它只接受一个ElementFilter. 当我使用它时,班级会做我想做的事。所以我确信我的其余代码没问题。谁能解释我可以将哪种标准数据结构传递给这个构造函数。

4

3 回答 3

1

它应该允许一个通用列表,但您始终可以下载 Reflector 以查看 API 内部以查看构造函数在做什么。

于 2012-09-27T20:54:39.743 回答
0

应该像你描述的那样工作。此代码有效:

public class Blah
{
    private IList<string> _strings;

    public int Count
    {
        get { return this._strings.Count; }
    }

    public Blah(IList<string> strings)
    {
        _strings = strings;
    }
}

然后在其他地方:

List<string> someStrings = new List<string> { "a", "B", "c" };
var blah = new Blah(someStrings);
Console.WriteLine(blah.Count);

打印出来3

于 2012-09-27T20:58:44.100 回答
0

List<ElementFilter>实现IList<ElementFilter>,所以你可以用它来调用它。

如果不起作用,请与第三方项目的原作者交谈。这可能是他们的代码有问题,也可能是您对代码应该做什么的期望有问题。

于 2012-09-27T20:54:56.567 回答