J'essaye de réparer ce code moche.Comment éviter .Parent.Parent.Parent. etc. lors du référencement des hiérarchies de contrôle?
RadGrid gv = (RadGrid) (((Control) e.CommandSource).Parent.Parent.Parent.Parent.Parent);
J'ai souvent besoin de trouver la première grille qui est le parent du parent de ... etc d'un objet qui vient de soulever un événement.
Ce qui précède a tendance à se casser lorsque la disposition change et le nombre de .Parents augmente ou diminue.
Je n'ai pas nécessairement d'ID de contrôle, donc je ne peux pas utiliser FindControl().
Existe-t-il une meilleure façon de trouver la grille du premier parent?
Recursion est votre ami dans ce type de problème. –
La récursivité est parfois une solution, mais jamais votre ami ;-) –
Alors que la récursivité est une solution naturelle pour certains problèmes, elle a ses limites. Les plus importants sont les débordements de pile ;-) et la surcharge des appels de fonction. –