Partager via


Erreur du compilateur CS0570

Mise à jour : novembre 2007

Message d'erreur

La propriété, l'indexeur ou l'événement 'nom' n'est pas pris en charge par le langage ; essayez d'appeler directement la méthode d'accesseur 'nom!'
Property, indexer, or event 'name' is not supported by the language; try directly calling accessor method 'name!'

Cette erreur se produit lors de l'utilisation de métadonnées importées qui ont été générées par un autre compilateur. Votre code essaie d'utiliser un membre de classe que le compilateur ne peut pas traiter.

Exemple

Le programme C++ suivant utilise un attribut, RequiredAttributeAttribute qui ne peut pas être consommé par d'autres langages.

// CPP0570.cpp
// compile with: /clr /LD

using namespace System;
using namespace System::Runtime::CompilerServices;

namespace CS0570_Server {
   [RequiredAttributeAttribute(Int32::typeid)]  
   public ref struct Scenario1 {
      int intVar;
   };

   public ref struct CS0570Class {
      Scenario1 ^ sc1_field;

      property virtual Scenario1 ^ sc1_prop {
         Scenario1 ^ get() { return sc1_field; }
      }

      Scenario1 ^ sc1_method() { return sc1_field; }
   };
};

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

// CS0570.cs
// compile with: /reference:CPP0570.dll
using System;
using CS0570_Server;

public class C {
   public static int Main() {
      CS0570Class r = new CS0570Class();
      r.sc1_field = null;   // CS0570
      object o = r.sc1_prop;   // CS0570
      r.sc1_method();   // CS0570
   }
}