La seguente è una violazione accettabile dei "Tipi annidati non dovrebbe essere visibile" (regola di analisi del codice Microsoft .NET CA1034)?
Ho una classe, chiamiamola "TandAOLL", questa è una struttura e una serie di liste collegate tutte in una, questa è un'implementazione QuadTree che consente il raggruppamento di punti.
All'interno di questa classe ho un'altra classe, chiamiamola "TandAOLLGroup", questo è il tipo che l'iteratore di "TandAOLL" restituisce, questo è quindi dichiarato Pubblico.
Questa classe contiene un riferimento all'albero da cui è stato creato e anche un intero che rappresenta l'indice del gruppo rappresentato dall'oggetto.
L'iteratore di "TandAOLLGroup" restituisce Punti seguendo un percorso elenco collegato utilizzando la foglia memorizzata nel TandAOLL.Array (Index) come la testa.
Il motivo per cui ho annidato la seconda classe all'interno del primo è perché ha bisogno dell'accesso priviligato ai membri privati della classe 'TLLOLL'.