Partager via


Erreur du compilateur CS1545

Mise à jour : novembre 2007

Message d'erreur

La propriété, l'indexeur ou l'événement 'propriété' n'est pas pris en charge par le langage ; essayez d'appeler directement les méthodes d'accesseur 'accesseur set' ou 'accesseur get'
Property, indexer, or event 'property' is not supported by the language; try directly calling accessor methods 'set accessor' or 'get accessor'

Le code consomme un objet ayant un indexeur non défini par défaut et a tenté d'utiliser la syntaxe indexée. Pour corriger cette erreur, appelez la méthode d'accesseur de la propriété get ou set.

Exemple

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

L'exemple suivant génère l'erreur CS1545.

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