Para consultar el siguiente código:mecanografiado: hacer visible el interior del módulo de clase única
module MyModule {
class MyPrivateClass {
...
}
export class MyPublicClass {
private var: MyPrivateClass; // MyPrivateClass is unknown
}
}
Quiero MyPrivateClass ser sólo visible en el interior MyModule, específicamente para uso interno en MyPublicClass. Fuera de MyModule, solo MyPublicClass debe estar visible. Pensé que el diseño anterior debería hacer, pero VS se queja de que MyPrivateClass no está visible dentro de MyPublicClass. Añadiendo exportación antes de la definición de MyPrivateClass lo hace visible a MyPublicClass pero luego también es visible desde el exterior.
¿Hay alguna manera de hacerlo visible a MyPublicClass solamente?
Gracias.
Es extraño: si pego el código como el anterior (el tuyo o el mío), está bien. Pero tan pronto como cambio el nombre del módulo a su nombre real, aparece el error que describí. ¿Podría tener algo que ver con el hecho de que estoy definiendo clases en el mismo módulo en otros archivos? – vexator
@vexator Sí. La especificación del lenguaje indica que _Los módulos internos son "abiertos" y las declaraciones internas del módulo con el mismo nombre calificado relativo a una raíz común (como se define en la sección 2.2) contribuyen a un único módulo. – Valentin
Ok, entonces ¿qué tendría que hacer? cambiar para que funcione? – vexator