Ошибка компилятора 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);
}
}
}