Partager via


Erreur du compilateur CS1612

Mise à jour : novembre 2007

Message d'erreur

Impossible de modifier la valeur de retour de 'expression', car il ne s'agit pas d'une variable
Cannot modify the return value of 'expression' because it is not a variable

Une tentative a été faite pour modifier un type valeur qui résultait d'une expression intermédiaire. Dans la mesure où la valeur n'est pas permanente, la valeur ne sera pas modifiée.

Pour résoudre cette erreur, stockez le résultat de l'expression dans une valeur intermédiaire ou utilisez un type référence pour l'expression intermédiaire.

Exemple

Le code suivant génère l'erreur CS1612.

// CS1612.cs
public struct MyStruct
{
    public int Width;
}

public class ListView
{
    public MyStruct Size
    {
        get { return new MyStruct(); }
    }
}

public class MyClass
{
    public MyClass()
    {
        ListView lvi;
        lvi = new ListView();
        lvi.Size.Width = 33;  // CS1612
        // Use this instead:
        // MyStruct temp = lvi.Size;
        // temp.Width = 33;
    }

    public static void Main() {}
}