Ошибка компилятора CS0039
Обновлен: Ноябрь 2007
Сообщение об ошибке
Не удается преобразовать тип "type1" в "type2" с помощью преобразования ссылок, упаковки-преобразования, распаковки-преобразования, преобразования в оболочку или преобразования типа null
Cannot convert type 'type1' to 'type2' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion
Преобразование с помощью оператора as (Справочник по C#) допустимо для наследуемых, ссылочных преобразований и упаковки-преобразований. Дополнительные сведения см. в разделе Операторы преобразования (Руководство по программированию в C#).
Пример
В следующем примере возникает ошибка CS0039.
// CS0039.cs
using System;
class A
{
}
class B: A
{
}
class C: A
{
}
class M
{
static void Main()
{
A a = new C();
B b = new B();
C c;
// This is valid; there is a built-in reference
// conversion from A to C.
c = a as C;
//The following generates CS0039; there is no
// built-in reference conversion from B to C.
c = b as C; // CS0039
}
}