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


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

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

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

Требуется указать инициализатор в объявлении оператора fixed или using
You must provide an initializer in a fixed or using statement declaration

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

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

// CS0210a.cs
// compile with: /unsafe

class Point
{
   public int x, y;
}

public class MyClass
{
   unsafe public static void Main()
   {
      Point pt = new Point();

      fixed (int i)    // CS0210
      {
      }
      // try the following lines instead
      /*
      fixed (int* p = &pt.x)
      {
      }
      fixed (int* q = &pt.y)
      {
      }
      */
   }
}

В следующем примере также возникает ошибка CS0210, поскольку в операторе using не содержится инициализатор.

// CS0210b.cs

using System.IO;
class Test 
{
   static void Main() 
   {
      using (StreamWriter w) // CS0210
      // Try this line instead:
      // using (StreamWriter w = new StreamWriter("TestFile.txt")) 
      {
         w.WriteLine("Hello there");
      }
   }
}