Export (0) Print
Expand All
Expand Minimize

Compiler Error CS0077 

Error Message

The as operator must be used with a reference type ('type' is a value type)

The as operator was passed a value type. Because as can return null, it can only be passed reference types.

The following sample generates 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;
   }
}

Community Additions

ADD
Show:
© 2015 Microsoft