Compilerfehler CS1546Compiler Error CS1546

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

Ihr Code nutzt ein Objekt mit einer indizierten Standardeigenschaft und hat versucht, die indizierte Syntax zu verwenden.Your code is consuming an object that has a default indexed property and tried to use the indexed syntax. Um diesen Fehler zu beheben, rufen Sie die Accessormethode der Eigenschaft auf.To resolve this error, call the property's accessor method. Weitere Informationen über Indexer und Eigenschaften finden Sie unter Indexer.For more information on indexers and properties, see Indexers.

Im folgenden Beispiel wird der Fehler CS1546 generiert.The following sample generates CS1546.

BeispielExample

Dieses Codebeispiel besteht aus einer CPP-Datei, die in eine DLL kompiliert wird, sowie aus einer CS-Datei, die diese DLL verwendet.This code sample consists of a .cpp file, which compiles to a .dll, and a .cs file, which uses that .dll. Der folgende Code ist für die DLL-Datei bestimmt und definiert eine Eigenschaft, auf die der Code in der CS-Datei zugreift.The following code is for the .dll file and defines a property to be accessed by the code in the .cs file.

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

BeispielExample

Dies ist die C#-Datei.This is the C# file.

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