我试图初始化一个像常规列表一样的不可变列表,但它告诉我它不需要 0 个参数。如果我传递 1 个参数、2 个参数等,它会抛出相同的错误。public static readonly ImmutableList<object[]> AddressTestCases = new ImmutableList<object[]>{ new object[]{ "", false }, new object[]{ "testestest", true },};我在这里做错了什么?有没有办法在不使用 .Add 的情况下做到这一点?
3 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
好的ImmutableList有一个你应该使用的 create 方法
public ImmutableList<int> ImmutableListCreate()
{
return ImmutableList.Create<int>(1, 2, 3, 4, 5);
}
冉冉说
TA贡献1877条经验 获得超1个赞
您使用的语法不是调用您认为的构造函数。它正在调用空构造函数,然后在后台调用.Add您提供的对象数组。
您将需要使用其中一种构建器方法:
public static readonly ImmutableList<object[]> AddressTestCases =
new[] {
new object[]{ "", false },
new object[]{ "testestest", true }
}).ToImmutableList();
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
要创建 ImmutableList,您必须使用在 ImmutableList 静态类上定义的静态工厂方法 Create()。
这意味着您将需要
public static readonly ImmutableList<object[]> AddressTestCases = ImmutableList.Create(new object[] { "", false }, new object[] { "testtest", true });
- 3 回答
- 0 关注
- 242 浏览
添加回答
举报
0/150
提交
取消