Eccezione alla regola "I tipi annidati non dovrebbero essere visibili"?

2

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'.

    
posta o.comp 14.10.2015 - 20:25
fonte

1 risposta

2

Puoi utilizzare un'interfaccia pubblica (ad esempio ITandAOLLGroup ) che l'iteratore può restituire. L'implementazione TandAOLLGroup può rimanere una classe nidificata privata o qualunque sia l'opzione migliore per la tua progettazione.

    
risposta data 14.10.2015 - 21:37
fonte

Leggi altre domande sui tag