Поделиться через


Ошибка компилятора CS0445

Обновлен: Ноябрь 2007

Сообщение об ошибке

Не удалось изменить результат распаковки-преобразования
Cannot modify the result of an unboxing conversion

Результат распаковки-преобразования является временной переменной, а компилятор предотвращает изменение таких переменных, так как любое изменение отменяется, когда исчезает временная переменная. Чтобы устранить эту ошибку, используйте тип значения для хранения промежуточного выражения. Затем вы сможете присвоить значение для типа значения.

Следующий код вызывает ошибку CS0455:

// CS0445.CS
public struct Point 
{
    public int x;
    public static void SetX(object obj, int x) 
    {
        ((Point)obj).x = x; // CS0445
    }
}
class UnboxingTest{public static void Main(){}}