Freigeben über


Compilerfehler CS1546

Die Eigenschaft, der Indexer oder das Ereignis „Eigenschaft“ wird von der Sprache nicht unterstützt. Rufen Sie die Accessormethode „Accessor“ direkt auf.

Ihr Code nutzt ein Objekt mit einer indizierten Standardeigenschaft und hat versucht, die indizierte Syntax zu verwenden. Um diesen Fehler zu beheben, rufen Sie die Accessormethode der Eigenschaft auf. Weitere Informationen über Indexer und Eigenschaften finden Sie unter Indexer.

Im folgenden Beispiel wird der Fehler CS1546 generiert.

Beispiel 1

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

Beispiel 2

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