Ho usato la "Quarta versione - non così pigro, ma thread-safe senza l'utilizzo di blocchi".
Funziona alla grande !
Ho creato in App.xaml.cs la classe Singleton (tralasciamo i nomi, che per adesso non ha importanza )
<-- FILE App.xaml.cs -->
namespace FlyOnSky
{
public sealed class Singleton
{
public string ioSS; *** QUA HO CREATO UNA STRINGA DI PROVA ***
private static readonly Singleton instance = new Singleton();
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static Singleton()
{
}
private Singleton()
{
}
public static Singleton Instance
{
get
{
return instance;
}
}
}
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// </summary>
sealed partial class App : Application
{
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
public App()
{
this.InitializeComponent();
this.Suspending += OnSuspending;
Singleton mioSing; *** ME LA DICHIARO ***
mioSing = Singleton.Instance; *** ME LA CREO ***
mioSing.ioSS = "CICCIO"; *** MI IMPOSTO ALLA VARIABILE UN NOME QUALUNQUE ***
}
<-- FILE MainPage.xaml.cs -->
namespace FlyOnSky
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled;
Singleton mioSing; *** Me la dichiaro..
mioSing = Singleton.Instance; ***..e la prendo (e non una copia perché è già stata istanziata in App.xaml.cs)
Debug.WriteLine("MainPage dice:" + mioSing.ioSS); *** MI SCRIVE "CICCIO", COME MI ASPETTAVO !!
}
Che dirti, Alka..
ti ringrazio moltissimo ! Siete un aiuto prezioso per me.. GRAZIE ! (da solo non so se ci sarei arrivato