Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C#] Errore: TypeInitializationException

    All'interno dei miei programmi, per creazione e la gestione delle variabili globali ho sempre creato una classe "Globale.cs" in cui dichiaro appunto la variabile con la sintassi:

    public static tipo nome_variabile;

    All'interno del programma in cui tale variabile è utilizzata ho sempre utilizzato la forma:

    Globale.nome_variabile=.....

    Non ho mai avuto problemi sino ad oggi.
    In pratica quando avvio il programma viene generata l'eccezione: TypeInitializationException inerente all'istruzione in questione.

    Nello specifico:

    codice:
    public Principale()
    {
        InitializeComponent();
                
            // Inizializzo la variabile globale "connesso" a "false"
           Globale.connesso = false;
    .
    .
    .
    L'istruzione Globale.connesso = false; genera la TypeInitializationException!

    La classe Globale.cs è così formata:

    codice:
    namespace Multiserver___Client
    {
        class Globale
        {
            public static Boolean connesso;
            .
            .
            .
    
        }
    }
    Tale errore non mi era mai capitato, ho consultato la guida in linea ma non riesco a capire la causa e quindi la soluzione.

    Consigli?

  2. #2
    Che eccezione è racchiusa nella proprietà InnerException della TypeInitializationException?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    La InnerException dice questo: "Riferimento a un oggetto non impostato su un'istanza di oggetto."

    Suggerimenti/soluzioni?

    Grazie.

  4. #4
    Non saprei... sembrerebbe che non sia ancora stata creata l'istanza statica della classe Globale, ma non ho idea di come potrebbe succedere una cosa del genere... puoi caricare il progetto in uno spazio web e postare un link ad esso, così ci do un'occhiata?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Ho provato a cancellare la classe Globale e a rifarla, cambiare nome . . .
    Non capisco perchè adesso venga generato un simile errore. Considera non succede in fase di compilazione, ma a programma lanciato, appena si posiziona sulla prima istruzione che fa riferimento alla classe Globale.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.