CS0077 de erro do compilador

Mensagem de erro

O sistema autônomo operador deve ser usado com um tipo de referência ou anulável tipo ('int' é um tipo de valor não nulo).

The sistema autônomo operador foi passado um tipo de valor.Porque as pode retornar nulo, ele pode apenas ser passado tipos de referência ou tipo que permite valor nulo.Para obter mais informações sobre tipos anuláveis, consulte Tipos anuláveis (guia de programação C#).

O exemplo a seguir gera CS0077:

// CS0077.cs
using System;

class C
{
}

struct S
{
}

class M
{
   public static void Main()
   {
      object o1, o2;
      C c;
      S s;

      o1 = new C();
      o2 = new S();

      s = o2 as S;  // CS0077, S is not a reference type.
      // try the following line instead
      // c = o1 as C;
   }
}