Share via


컴파일러 오류 CS1950

업데이트: 2007년 11월

오류 메시지

오버로드된 Add 메서드 중 해당 컬렉션 이니셜라이저에 가장 적합한 'name'에 일부 잘못된 인수가 있습니다.
The best overloaded Add method 'name' for the collection initializer has some invalid arguments.

컬렉션 이니셜라이저를 지원하려면 클래스에서 IEnumerable을 구현하고 public Add 메서드를 사용해야 합니다. 컬렉션 이니셜라이저를 사용하여 형식을 초기화하려면 Add 메서드의 입력 매개 변수가 추가하려는 개체의 형식과 호환되어야 합니다.

이 오류를 해결하려면

  • 컬렉션 이니셜라이저에 호환되는 형식을 사용합니다.

  • 컬렉션 형식에서 Add 메서드의 액세스 가능성 및/또는 입력 매개 변수를 수정합니다.

  • 전달하려는 대상과 형식이 일치하는 입력 매개 변수를 가진 새 Add 메서드를 추가합니다.

  • Add 메서드에서 모든 형식을 허용하도록 컬렉션 클래스를 제네릭 클래스로 만듭니다.

예제

다음 예제에서는 CS1950 오류가 발생하는 경우를 보여 줍니다.

// cs1950.cs
using System.Collections;
class TestClass : CollectionBase
{
    public void Add(int c)
    {
    }
}

class Test
{
    static void Main()
    {
        TestClass t = new TestClass { "hi" }; // CS1950
    }
}

참고 항목

참조

개체 및 컬렉션 이니셜라이저(C# 프로그래밍 가이드)