Поделиться через


Ошибка компилятора CS0254

Обновлен: Ноябрь 2007

Сообщение об ошибке

Правая часть присваивания оператора fixed не может быть выражением приведения типа
The right hand side of a fixed statement assignment may not be a cast expression

В правой части выражения fixed не может использоваться приведение типа. Дополнительные сведения см. в разделе Небезопасный код и указатели (Руководство по программированию в C#).

Следующий пример приводит к созданию ошибки CS0254

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