Compilerfout CS0570

Eigenschap, indexeerfunctie of gebeurtenisnaam wordt niet ondersteund door de taal; probeer de accessormethode 'name!' rechtstreeks aan te roepen

Deze fout treedt op bij het gebruik van geïmporteerde metagegevens die zijn gegenereerd door een andere compiler. Uw code heeft geprobeerd een klasselid te gebruiken dat de compiler niet kan verwerken.

Opmerking

Deze waarschuwing wordt alleen gerapporteerd tijdens expliciete build - of herbouwbewerkingen . Deze wordt niet weergegeven tijdens het typen in de IDE als onderdeel van Diagnostische gegevens van IntelliSense. Dit betekent dat als u de waarschuwing oplost door het veld te gebruiken of te verwijderen, de waarschuwing in de foutenlijst kan blijven bestaan totdat u het project opnieuw bouwt.

Voorbeeld 1

Het volgende C++-programma maakt gebruik van een kenmerk RequiredAttributeAttribute, dat mogelijk niet door andere talen wordt gebruikt.

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

Voorbeeld 2

In het volgende voorbeeld wordt CS0570 gegenereerd.

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