Error del compilador CS0039

No se puede convertir el tipo 'type1' en 'type2' mediante una conversión de referencia, boxing, unboxing, de ajuste del texto o de tipo NULL

Una conversión con el operador as se permite mediante herencia, conversiones de referencia y conversiones boxing.

Ejemplo

En el ejemplo siguiente se genera el error CS0039:

using System;

class A { }
class B : A { }
class C : A { }

class Example
{
    static void Main()
    {
        C c;

        // This compiles, because
        // there is an explicit reference conversion from type A to type C.
        A a = new C();
        c = a as C;

        // This generates CS0039, because
        // there is no implicit or explicit reference conversion between B and C types.
        B b = new B();
        c = b as C;  // CS0039
    }
}