CS0570 fordítási hiba

A nyelv nem támogatja a tulajdonságot, az indexelőt vagy az esemény "nevét"; próbálja meg közvetlenül meghívni a "name!" kiegészítő metódust

Ez a hiba akkor fordul elő, ha egy másik fordító által létrehozott importált metaadatokat használ. A kód olyan osztálytagot próbált használni, amelyet a fordító nem tud feldolgozni.

Megjegyzés:

Ez a figyelmeztetés csak az explicit buildelési vagy újraépítési műveletek során jelenik meg. Nem jelenik meg az IDE-ban az IntelliSense diagnosztika közben történő gépeléskor. Ez azt jelenti, hogy ha a figyelmeztetést a mező használatával vagy eltávolításával oldja meg, a figyelmeztetés megmaradhat a hibalistában, amíg újra létre nem hozza vagy újra nem építi újra a projektet.

1. példa

A következő C++ program egy RequiredAttributeAttribute attribútumot használ, amelyet más nyelvek nem használnak.

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

2. példa

Az alábbi minta a CS0570-et hozza létre.

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