Sdílet prostřednictvím


Compilerfehler CS1546

Aktualisiert: November 2007

Fehlermeldung

Die Eigenschaft, der Indexer oder das Ereignis "Eigenschaft" wird von der Sprache nicht unterstützt. Rufen Sie die "Accessor"-Accessormethode direkt auf.
Property, indexer, or event 'property' is not supported by the language; try directly calling accessor method 'accessor'

Der Code nutzt ein Objekt mit einer indizierten Standardeigenschaft und hat versucht, die indizierte Syntax zu verwenden. Zur Behebung dieses Fehlers rufen Sie die Accessor-Methode der Eigenschaft auf. Weitere Informationen über Indexer und Eigenschaften finden Sie unter Indexer (C#-Programmierhandbuch).

Im folgenden Beispiel wird CS1546 generiert.

Beispiel

Dieses Codebeispiel besteht aus einer CPP-Datei, die in eine DLL kompiliert wird, sowie aus einer CS-Datei, die diese DLL verwendet. Der folgende Code ist für die DLL-Datei bestimmt und definiert eine Eigenschaft, auf die der Code in der CS-Datei zugreift.

// 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;
        }
    }
};

Dies ist die C#-Datei.

// 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);
    }
}