Jeśli mogę to zrobić otrzymuję System.StackOverflowException
:Dlaczego kompilator C# nie przestaje odwoływać się do właściwości?
private string abc = "";
public string Abc
{
get
{
return Abc; // Note the mistaken capitalization
}
}
rozumiem dlaczego - nieruchomość jest odwołanie się, co prowadzi do nieskończonej pętli. (Zobacz poprzednie pytania here i here).
Zastanawiam się (i czego nie widziałem odpowiedział w poprzednich pytaniach), dlaczego kompilator C# nie złapie tego błędu? Sprawdza inne rodzaje odwołań cyklicznych (klasy dziedziczące od siebie itp.), Prawda? Czy to tylko ten błąd nie był na tyle powszechny, aby warto było go sprawdzić? Czy jest jakaś sytuacja, o której nie myślę, kiedy chciałbyś, aby nieruchomość rzeczywiście się w ten sposób odwoływała?
Przez "odniesienie się", przypuszczam, że naprawdę chcę powiedzieć "rekurencyjnie nazywając siebie", ale masz pomysł. –