Compilerfehler CS1545

Aktualisiert: November 2007

Fehlermeldung

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

Der Code nutzt ein Objekt mit einem nicht standardmäßigen Indexer und hat versucht, die indizierte Syntax zu verwenden. Rufen Sie die get-Accessor-Methode oder die set-Accessor-Methode der Eigenschaft auf, um diesen Fehler zu beheben.

Beispiel

// CPP1545.cpp
// compile with: /clr /LD
// a Visual C++ program
using namespace System;
public ref struct Employee {
   Employee( String^ s, int d ) {}

   property String^ name {
      String^ get() {
         return nullptr;
      }
   }
};

public ref struct Manager {
   property Employee^ Report [String^] {
      Employee^ get(String^ s) {
         return nullptr;
      }

      void set(String^ s, Employee^ e) {}
   }
};

Im folgenden Beispiel wird CS1545 generiert:

// CS1545.cs
// compile with: /r:CPP1545.dll

class x {
   public static void Main() {
      Manager Ed = new Manager();
      Employee Bob = new Employee("Bob Smith", 12);
      Ed.Report[ Bob.name ] = Bob;   // CS1545
      Ed.set_Report( Bob.name, Bob);   // OK
   }
}