Ошибка компилятора CS1922
Для реализации интерфейса System.Collections.IEnumerable инициализатору коллекции требуется тип "тип".
Чтобы использовать инициализатор коллекции с типом, этот тип должен реализовывать интерфейс IEnumerable
. Эта ошибка может возникать, если вместо синтаксиса инициализатора объекта вы случайно используете синтаксис инициализатора коллекции.
Если тип не представляет коллекцию, то вместо синтаксиса инициализатора коллекции следует использовать синтаксис инициализатора объекта.
Если тип представляет коллекцию, измените его, чтобы он реализовал интерфейс
IEnumerable
, прежде чем использовать инициализаторы коллекции для инициализации объектов этого типа.Если тип представляет коллекцию, но его исходный код недоступен, просто инициализируйте элементы этого типа с помощью конструкторов их класса или других методов инициализации.
Приведенный ниже код приводит к возникновению ошибки CS1922.
// cs1922.cs
public class Test
{
public static void Main()
{
// Collection initializer.
var tc = new TestClass {1,"hello"} ; // CS1922
// Object initializer.
var tc2 = new TestClass { memberA = 1, memberB = "hello" }; // OK
}
}
public class TestClass
{
public int memberA { get; set; }
public string memberB { get; set; }
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: