Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Kompilator CS0208

Tidak dapat mengambil alamat, mendapatkan ukuran, atau mendeklarasikan pointer ke jenis yang dikelola ('jenis')

Meskipun digunakan dengan kata kunci tidak aman, mengambil alamat objek terkelola, mendapatkan ukuran objek terkelola, atau mendeklarasikan penunjuk ke jenis terkelola tidak diperbolehkan. Jenis yang dikelola adalah:

  • jenis referensi apa pun

  • setiap struct yang berisi jenis referensi sebagai bidang atau properti

Untuk informasi selengkapnya, lihat Jenis tidak terkelola .

Contoh

Contoh berikut menghasilkan CS0208:

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