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


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

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

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

Указатели и буферы фиксированного размера можно использовать только в небезопасном контексте
Pointers and fixed size buffers may only be used in an unsafe context

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

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

// CS0214.cs
// compile with: /target:library /unsafe
public struct S
{
   public int a;
}

public class MyClass
{
   public static void Test()
   {
      S s = new S();
      S * s2 = &s;    // CS0214
      s2->a = 3;      // CS0214
      s.a = 0;
   }

   // OK
   unsafe public static void Test2()
   {
      S s = new S();
      S * s2 = &s;
      s2->a = 3;
      s.a = 0;
   }
}