Kompilatorfel CS0570

Egenskap, indexerare eller händelsenamn stöds inte av språket. prova att anropa accessor-metoden "name!" direkt!

Det här felet uppstår när du använder importerade metadata som genererades av en annan kompilator. Koden försökte använda en klassmedlem som kompilatorn inte kan bearbeta.

Anmärkning

Den här varningen rapporteras endast under explicita bygg- eller ombyggnadsåtgärder . Den visas inte under inmatningen i IDE som en del av IntelliSense-diagnostiken. Det innebär att om du åtgärdar varningen med hjälp av fältet eller tar bort den kan varningen finnas kvar i fellistan tills du skapar eller återskapar projektet igen.

Exempel 1

Följande C++-program använder ett attribut, RequiredAttributeAttribute, som kanske inte används av andra språk.

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

Exempel 2

Följande exempel genererar 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  
   }  
}