Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês
É recomendável usar o Visual Studio 2017
Esta documentação foi arquivada e não está sendo atualizada.

CS1546 de erro do compilador

Não há suporte para a propriedade, indexador ou evento 'property' 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 da propriedade. Para obter mais informações sobre os indexadores e propriedades, consulte Indexadores (guia de programação do C#).

O exemplo a seguir gera CS1546.

Este exemplo de código consiste em um arquivo. cpp, que é compilado para um arquivo. dll, e um arquivo. cs, que usa esse arquivo. dll. O código a seguir é para o arquivo. dll e define uma propriedade para ser acessado pelo 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 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);
    }
}
Mostrar: