Compilerfehler CS0570

Die Eigenschaft, der Indexer oder das Ereignis "Name" wird von der Sprache nicht unterstützt. Rufen Sie die "Name"-Accessormethode direkt auf.

Dieser Fehler tritt auf, wenn importierte Metadaten verwendet werden, die durch einen anderen Compiler generiert wurden.Der Code hat versucht, einen Klassenmember zu verwenden, den der Compiler nicht verarbeiten kann.

Beispiel

Im folgenden C++-Programm wird ein Attribut verwendet (RequiredAttributeAttribute), das von anderen Sprachen möglicherweise nicht verwendet wird.

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

Im folgenden Beispiel wird CS0570 generiert.

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