Error del compilador CS0214

Actualización: noviembre 2007

Mensaje de error

Los punteros y los búferes de tamaño fijo sólo se pueden utilizar en un contexto no seguro
Pointers and fixed size buffers may only be used in an unsafe context

Los punteros sólo se pueden utilizar con la palabra clave unsafe. Para obtener más información, vea Código no seguro y punteros (Guía de programación de C#).

El código siguiente genera el error 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;
   }
}