CS0445 de erro do compilador

Mensagem de erro

Não é possível modificar o resultado de uma conversão unboxing

O resultado de uma conversão unboxing é uma variável temporária e o compilador impede que você modifique essas variáveis pois qualquer modificação deve ir imediatamente quando o temporário desaparece.Para corrigir esse problema, use um tipo de valor para armazenar a expressão intermediária.Você poderá atribuir um valor para o tipo de valor.

O código a seguir gera 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(){}}