Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Penyusun CS0254

Sisi kanan penetapan pernyataan tetap mungkin bukan ekspresi cast

Sisi kanan ekspresi tetap mungkin tidak menggunakan transmisi. Untuk informasi selengkapnya, lihat Kode dan Pointer Tidak Aman.

Contoh berikut menghasilkan CS0254:

C#
// CS0254.cs  
// compile with: /unsafe  
class Point  
{  
   public uint x, y;  
}  
  
class FixedTest  
{  
   unsafe static void SquarePtrParam (int* p)  
   {  
      *p *= *p;  
   }  
  
   unsafe public static void Main()  
   {  
      Point pt = new Point();  
      pt.x = 5;  
      pt.y = 6;  
  
      fixed (int* p = (int*)&pt.x)   // CS0254  
      // try the following line instead  
      // fixed (uint* p = &pt.x)  
      {  
         SquarePtrParam ((int*)p);  
      }  
   }  
}