Compiler Error CS1546
属性、索引器或事件“property”不受该语言支持;请尝试直接调用访问器方法“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);
}
}