Si je fais cela, j'obtiens un System.StackOverflowException
:
private string abc = "";
public string Abc
{
get
{
return Abc; // Note the mistaken capitalization
}
}
Je comprends pourquoi : la propriété se réfère à elle-même, ce qui conduit à une boucle infinie. (Voir les questions précédentes aquí y aquí ).
Ce que je me demande (et ce à quoi je n'ai pas vu de réponse dans ces questions précédentes), c'est pourquoi le compilateur C# ne repère pas cette erreur ? Il vérifie d'autres types de références circulaires (classes héritant d'elles-mêmes, etc.), n'est-ce pas ? Est-ce que cette erreur n'est pas assez courante pour être vérifiée ? Ou bien existe-t-il une situation à laquelle je ne pense pas, dans laquelle vous voudriez qu'une propriété se référence elle-même de cette manière ?