Error de sintaxis: no se puede acceder a un método privado en la biblioteca Dart

CorePress2024-01-25  14

Tengo que acceder a un método privado en una Clase. Creé una biblioteca dentro de la clase, la importé pero aún no la puedo reconocer. Tengo el mismo problema también con las variables privadas.

Ejemplo:

archivo buffer.dart:

    library buflib;

    class Buffer{

            void _record(){
                    [...]
            }

    }

en la misma carpeta: motor.dart

    import 'buffer.dart';

    class Engine {

            Buffer _buff = Buffer()

            [...]
            void myMethod(){
                    [...]
                    this._buff._record();
            }
    }

Tengo este error:

El método '_record' no está definido para el tipo 'Buffer'. Intente corregir el nombre con el nombre de un método existente o defina >un método llamado '_record'.dartundefined_method

¿Alguna sugerencia?



------------------------------------

De forma predeterminada, cada archivo .dart independiente es una biblioteca independiente. desde priLos identificadores vate son privados para la biblioteca, no serán visibles para otros archivos .dart.

Puede utilizar la biblioteca y parte de las directivas para agrupar varios archivos .dart en la misma biblioteca, pero esas directivas no están documentadas.

0



------------------------------------

No puedes llamar a métodos o variables privados desde clases disponibles... deberías cambiarlo a público eliminando "puntuación inferior"

1

En la documentación de dart encontré esto: "Las directivas de importación y biblioteca pueden ayudarle a crear una base de código modular y compartible. Las bibliotecas no sólo proporcionan API, sino que también son una unidad de privacidad: los identificadores que comienzan con un guión bajo son visibles sólo dentro de la biblioteca. Cada aplicación de Dart es una biblioteca, incluso si no utiliza una directiva de biblioteca". Podría estar dentro de la biblioteca así que debería verlos

- Alessio

28/03/2021 a las 13:06

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare