Compiler Error CS1921

与“method”最匹配的重载方法具有对于初始值设定项元素而言错误的签名。可初始化的 Add 必须是可访问的实例方法。

在尝试对没有公共非静态 Add 方法的类使用集合初始值设定项时,会生成此错误。如果 Add 方法因其保护级别(privateprotectedinternal)而不可访问,则会收到 CS0122,因此该错误可能意味着该方法被定义为 static

下面的示例生成 CS1921:

// cs1921.cs
using System.Collections;
public class C : CollectionBase
{
    public static void Add(int i)
    {
    }
}
public class Test
{
    public static void Main()
    {
        var collection = new C { 1, 2, 3 }; // CS1921
    }
}

请参阅

对象和集合初始值设定项(C# 编程指南)