Witam, czy ktoś mógłby mi wytłumaczyć czemu tak się dzieje?
Napisałem sobie skrawek kodu, który wygląda tak:
class Program
{
static void Main(string[] args)
{
Test test = new Test();
bool b = true;
test.B = true;
test.Test1(ref b);
test.Test1(ref test.B);
}
}
public class Test
{
public bool B { get; set; }
public void Test1(ref bool b)
{
b = false;
}
}
Pierwsze wywołanie metody Test1 przy zwykłej zmiennej działa, natomiast przy drugim wywołaniu podając w parametrze zmienną klasy Test wyskakuje mi błąd
Nie można przekazać właściwości lub indeksatora jako parametru "out" lub "ref"
Ogólnie umiem czytać i rozumiem treść błędu, ale pytanie moje brzmi - mógłby mi ktoś wytłumaczyć dlaczego nie mogę?