Lezen in het Engels

Delen via


Compilerfout CS0208

Kan het adres van, de grootte van een aanwijzer niet ophalen of declareren naar een beheerd type ('type')

Zelfs wanneer het wordt gebruikt met het onveilige trefwoord, is het ophalen van het adres van een beheerd object, het ophalen van de grootte van een beheerd object of het declareren van een aanwijzer naar een beheerd type niet toegestaan. Een beheerd type is:

  • elk verwijzingstype

  • elke struct die een verwijzingstype bevat als een veld of eigenschap

Zie Niet-beheerde typen voor meer informatie.

Opmerking

In het volgende voorbeeld wordt CS0208 gegenereerd:

// CS0208.cs  
// compile with: /unsafe  
  
class myClass  
{  
    public int a = 98;  
}  
  
struct myProblemStruct  
{  
    string s;  
    float f;  
}  
  
struct myGoodStruct  
{  
    int i;  
    float f;  
}  
  
public class MyClass  
{  
    unsafe public static void Main()  
    {  
        // myClass is a class, a managed type.  
        myClass s = new myClass();
        myClass* s2 = &s;    // CS0208  
  
        // The struct contains a string, a managed type.  
        int i = sizeof(myProblemStruct); //CS0208  
  
        // The struct contains only value types.  
        i = sizeof(myGoodStruct); //OK  
  
    }  
}