다음을 통해 공유


'System.Runtime.InteropServices.DllImportAttribute'는 제네릭이거나 제네릭 형식에 포함된 메서드에 적용할 수 없습니다.

업데이트: 2007년 11월

'System.Runtime.InteropServices.DllImportAttribute' cannot be applied to a method that is generic or nested in a generic type

DllImportAttribute를 사용하여 프로시저를 선언했지만 이 프로시저는 제네릭이거나 제네릭 클래스 또는 구조체에 포함되어 있습니다.

CLR(공용 언어 런타임)에서는 이 특성 및 및 해당 EntryPoint 속성을 .NET Framework 외부에 있는 관리되지 않는 DLL(동적 연결 라이브러리)에 정의된 대체 프로시저를 지정하는 것으로 인식합니다. 코드에서 DllImportAttribute가 적용된 프로시저를 호출하면 공용 언어 런타임은 지정된 관리되지 않는 프로시저를 호출합니다.

.NET Framework 외부에 있는 관리되지 않는 플랫폼은 제너릭 형식을 인식하지 않기 때문에 제너릭 형식을 사용하여 이들 플랫폼과 상호 운영할 수 없습니다.

오류 ID: BC31526

이 오류를 해결하려면

  • 프로시저 및 프로시저의 컨테이너 모두 제네릭이 아니어야 하는 경우 제네릭이 되지 않도록 Of 절을 제거합니다.

  • 프로시저 또는 프로시저의 컨테이너가 제네릭이어햐 하는 경우 이 프로시저의 선언에서 DllImportAttribute를 제거합니다.

참고 항목

개념

Visual Basic의 제네릭 형식

참조

DllImportAttribute