static void Main(string[] args) { CPersona uno = CPersona.ProporcionarInstancia(); //hacemos algo con la instancia uno.PonerDatos("iris", 21); uno.AlgunProceso(); Console.WriteLine(uno); Console.WriteLine("---------------------"); CPersona dos = CPersona.ProporcionarInstancia(); Console.WriteLine(dos); //podemos modificar sus propiedades dos.PonerDatos("isrrael", 36); Console.WriteLine(dos); Console.WriteLine(uno); //al crear otro tenemos el mismo objeto creado en dos CPersona tres = CPersona.ProporcionarInstancia(); Console.WriteLine(tres); //la instancia mantiene el mismo estado siempre que ses convocada. //la clase sinleton será solo una . puede cambiar sus propiedades //y agregar o quitar metodos. pero sera una clase unica. }
public static CPersona ProporcionarInstancia() { //verificamos que la instancia no existe if (instancia == null) { //si no existe se crea instancia = new CPersona(); Console.WriteLine("creada por primera vez"); } //retornamos la instancia return(instancia); }