为了账号安全,请及时绑定邮箱和手机立即绑定

ImmutableList 不包含采用 0 个参数的构造函数

ImmutableList 不包含采用 0 个参数的构造函数

C#
三国纷争 2021-08-07 17:36:30
我试图初始化一个像常规列表一样的不可变列表,但它告诉我它不需要 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);

}


查看完整回答
反对 回复 2021-08-07
?
冉冉说

TA贡献1877条经验 获得超1个赞

您使用的语法不是调用您认为的构造函数。它正在调用空构造函数,然后在后台调用.Add您提供的对象数组。


您将需要使用其中一种构建器方法:


public static readonly ImmutableList<object[]> AddressTestCases =

                          new[] {

                                   new object[]{ "", false }, 

                                   new object[]{ "testestest", true }

                                }).ToImmutableList();


查看完整回答
反对 回复 2021-08-07
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

要创建 ImmutableList,您必须使用在 ImmutableList 静态类上定义的静态工厂方法 Create()。

这意味着您将需要

public static readonly ImmutableList<object[]> AddressTestCases = 
    ImmutableList.Create(new object[] { "", false }, new object[] { "testtest", true });


查看完整回答
反对 回复 2021-08-07
  • 3 回答
  • 0 关注
  • 242 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信