none
¿Cómo llamar a los metodos de la fachada? RRS feed

  • Pregunta

  • Buenas, empecé hace poco con C#, practiqué por dos años Java y este último año he estado con Visual Basic, que como todos sabemos no es un lenguaje que fomente demasiado muchas buenas prácticas de programación...

    El caso es que en mi fachada tengo esto:

    using Argon.Logica.Clases;
    
    namespace Argon.Logica.Fachada
    {
        public sealed class Fachadita
        {
            private static Fachadita fachada;
            private static Persona usuario = new Persona();
    
            private Fachadita()//Constructor
            {
            }
    
            public static Fachadita Instancia//Getter de instancia
            {
                get
                {
                    if (fachada == null)
                    {
                        fachada = new Fachadita();
                    }
                    return fachada;
                } } private Persona GetUsuario()//Geter de usuario { return usuario; } } }

    Y, desde otra clase, quiero hacer esto:

    namespace Argon.Logica.Clases.Comportamiento
    {
        class Saludo
        {
            public void Hablar()
            {
                private string nombre = Fachadita.Instancia.GetUsuario.getNombre;
                System.Console.WriteLine("Hola" + nombre + "!")
            }
        }
    }

    Pero el problema es que al poner

    Fachadita.Instancia.

    En la lista de métodos o variables que puedes poner no aparece GetUsuario, y no sé cómo hacer D:

    Agradecería mucho cualquier ayuda.


    • Editado Sharcroft domingo, 18 de agosto de 2019 1:14 Me falto algo
    domingo, 18 de agosto de 2019 0:51

Todas las respuestas

  • En la lista de métodos o variables que puedes poner no aparece GetUsuario, y no sé cómo hacer D:

    Es porque GetUsuario lo tienes marcado como "Private". Entonces no se puede llamar desde fuera de la clase. Simplemente cámbialo a "Public".

    Decías que comenzaste por C# y luego usaste Java antes de pasarte a Visual Basic. Hago la observación de que tanto en C# como en Java te habría ocurrido exactamente lo mismo si el método lo hubieses marcado como Private. No es un problema particular de Visual Basic.

    domingo, 18 de agosto de 2019 6:57
    Moderador