Intento mantener las cosas lo más locales posible, así que pongo enumeraciones en el alcance de la clase, incluso si se comparten entre dos clases (lo puse en la clase que "va mejor" con él). funcionó muy bien, pero recientemente me encontré con un problema donde se producirá una dependencia circular si pongo la enumeración en el alcance de la clase.Enum scoping issues
La enumeración va a ser un argumento constructor para múltiples clases, y la clase en la que está (y la clase que tiene más sentido para que esté) incluye esas clases. Por lo tanto, no es posible usar la enumeración como un argumento de constructor para las clases incluidas porque dará como resultado una dependencia circular.
¿Sería mejor poner esta enumeración en su propio archivo de encabezado, y si es así, debería poner todas las enumeraciones en el archivo de encabezado para ser consistente? ¿Hay alguna otra solución a este problema (que sea lógica)?
¿Has probado las declaraciones futuras? –
Las declaraciones directas solo le permiten acceder al nombre del tipo. No puede acceder a la interfaz ni crear instancias ni hacer nada de eso. – Anonymous