Error del compilador CS0445

Actualización: noviembre 2007

Mensaje de error

No se puede modificar el resultado de una conversión unboxing
Cannot modify the result of an unboxing conversion

El resultado de una conversión unboxing es una variable temporal y el compilador evita que se modifiquen estas variables porque cualquier modificación desaparecería al desaparecer la variable temporal. Para corregirlo, utilice un tipo de valor para almacenar la expresión intermedia. De este modo podrá asignar un valor al tipo de valor.

El código siguiente genera el error 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(){}}