I have the following singleton implementation based on a video https://youtu.be/Q6HJpgdkAK8?si=k-9ksjHirLHq5Ne2 Some features of my own implementation are different, but i want to know whether my implementation is correct in general terms.
My Singleton class:
internal class CSingleton
{
// Aquí guardamos la única instancia que va a existir.
private static object instance;
// Creamos el constructor privado.
private CSingleton()
{
}
public static object ObtenInstancia()
{
if (instance == null)
{
instance = new COctopus();
}
// Aseguramos que se crea una sola vez.
return instance;
}
private class COctopus
{
private readonly string figure = "\t\t\t\t\t °°°°°°°°\r\n\t\t\t\t\t\t°°°°°°°°°°°°°°°°\r\n\t\t\t\t\t °°°°°°°°°°°°°°°°°°°°°°°°\r\n\t\t\t\t\t °°°°°°°°°°°°°°°°°°°°°°°°°°\r\n\t\t\t \t °°°°°°°°°°°°°°°°°°°°°°°°°°°°\r\n °°°°°°°°°°°°°°°°°°°°°°°°°°°°\r\n\t\t\t \t °°°°°°° °°°°°°° °°°°°°° \r\n\t\t\t °\t °°°°°°°°°°°°°°°°°°°° \t \r\n\t\t\t °°\t ° °°°°°°°°°°°°°°°° ° \r\n\t\t\t °°°\t °°\t\t°°°°°°°°°°°°° °° °\r\n\t\t\t °°°\t °°° °°°°°°°°°° °°° °°\r\n\t\t\t °°°° \t °°°°°°°° °°°\r\n\t\t\t °°°°°\t °°°°°\t\t °°°\r\n\t\t\t °°°°°\t °°°°\r\n\t\t\t °°°°° °°°°\t -\t - °°°° °°°°°\r\n\t\t\t °°°\t °°° / \\ / \\ °°°\t °°°°\r\n\t\t\t\t\t °°°\t | \\/ | °°° °°°\r\n\t\t\t\t\t °°\t \\ / °°\r\n\t\t\t\t\t °° \\ / °°\r\n\t\t\t\t\t ° \\ / °\r\n\t\t\t\t\t\t \\ /\t\r\n\t\t\t\t\t\t \\_/\t";
public override string ToString()
{
return String.Format(figure);
}
}
}
var x = ...?You don't need extra wrapperCSingleton, which holds private classCOctopus, just make COctopus' constructor private.