Auf Englisch lesen

Freigeben über


Compilerfehler CS0208

Es ist nicht möglich, einen Zeiger auf den verwalteten Typ ("Typ") zu deklarieren oder dessen Adresse oder Größe abzurufen.

Selbst bei Verwendung des unsafe -Schlüsselworts ist es nicht zulässig, die Adresse und Größe eines verwalteten Objekts abzurufen oder einen Zeiger auf einen verwalteten Typ zu deklarieren. Ein verwalteter Typ ist:

  • ein beliebiger Verweistyp

  • jede Struktur, die einen Verweistyp als Feld oder Eigenschaft enthält

Weitere Informationen finden Sie unter Nicht verwaltete Typen.

Beispiel

Im folgenden Beispiel wird CS0208 generiert:

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