CS1546 de erro do compilador
Mensagem de erro
Propriedade, indexador ou evento 'propriedade' não é suportado pelo linguagem; tente chamar diretamente o método do acessador 'assessor'
Seu código está consumindo um objeto que tem uma propriedade padrão indexado e tentou usar a sintaxe indexada.Para resolver esse erro, chame o método do acessador de propriedade.Para obter mais informações sobre os indexadores e propriedades, consulte Indexadores (guia de programação C#).
O exemplo a seguir gera CS1546.
Exemplo
Este exemplo de código consiste em um arquivo .cpp, que é compilado para um arquivo .dll, e um arquivo .cs, que usa essa dll.O código a seguir é para o arquivo .dll e define uma propriedade para serem acessados por código no arquivo .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;
}
}
};
Este é o arquivo translation from VPE for Csharp.
// 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);
}
}