CS1612 de erro do compilador
Mensagem de erro
Não é possível modificar o valor retornado de 'expressão' porque ele não é uma variável
Houve uma tentativa de modificar um tipo de valor foi resultado de uma expressão intermediário.Como o valor não é persistente, o valor será inalterado.
Para resolver esse erro, armazenar o resultado da expressão em um valor intermediário ou use um tipo de referência para a expressão intermediária.
Exemplo
O código a seguir gera erro 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() {}
}