컴파일러 오류 CS1546
업데이트: 2007년 11월
오류 메시지
'property' 속성, 인덱서 또는 이벤트는 이 언어에서 지원되지 않습니다. 'accessor' 접근자 메서드를 직접 호출해 보십시오.
Property, indexer, or event 'property' is not supported by the language; try directly calling accessor method 'accessor'
인덱싱된 기본 속성이 있는 개체를 사용하고 있는 코드에서 인덱싱된 구문을 사용하려고 했습니다. 이 오류를 해결하려면 속성의 접근자 메서드를 호출하십시오. 인덱서 및 속성에 대한 자세한 내용은 인덱서(C# 프로그래밍 가이드)를 참조하십시오.
다음 샘플에서는 CS1546 오류가 발생하는 경우를 보여 줍니다.
예제
이 코드 샘플은 .dll로 컴파일되는 .cpp 파일 하나와 이 .dll을 사용하는 .cs 파일 하나로 이루어집니다. .dll 파일에 대한 아래의 코드에서는 .cs 파일의 코드를 통해 액세스하게 될 속성을 정의합니다.
// CPP1546.cpp
// compile with: /clr /LD
using namespace System;
public ref class MCPP
{
public:
property int Prop [int,int]
{
int get( int i, int b )
{
return i;
}
}
};
다음은 C# 파일입니다.
// CS1546.cs
// compile with: /r:CPP1546.dll
using System;
public class Test
{
public static void Main()
{
int i = 0;
MCPP mcpp = new MCPP();
i = mcpp.Prop(1,1); // CS1546
// Try the following line instead:
// i = mcpp.get_Prop(1,1);
}
}