Edit

Compiler Error CS0570

Property, indexer, or event 'name' is not supported by the language; try directly calling accessor method 'name!'

This error occurs when using imported metadata that was generated by another compiler. Your code attempted to use a class member that the compiler cannot process.

Note

This warning is only reported during explicit Build or Rebuild operations. It does not appear during typing in the IDE as part of IntelliSense diagnostics. This means that if you fix the warning by using the field or removing it, the warning might persist in the error list until you build or rebuild the project again.

Example 1

The following C++ program uses an attribute, RequiredAttributeAttribute, which may not be consumed by other languages.

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

Example 2

The following sample generates 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  
   }  
}