/ / Dans .NET, existe-t-il un concept de variables globales? - c #, .net, variables globales

Dans .NET, existe-t-il un concept de variables globales? - c #, .net, variables globales

En VB6, nous avons des variables globales qui sont déclarées dans les fichiers de module.

Avons-nous un tel concept dans .NET? Ou est-ce remplacé par variables de session et des choses comme variables constantes statiques de classe qui peut être utilisé comme données globales?

Réponses:

1 pour la réponse № 1

Dans VB.NET, vous pouvez ajouter un fichier de module. Dans ce fichier de module, vous deviez déclarer une variable et / ou des fonctions avec Public. Mais ce n'est que dans VB.NET

Exemple, le fichier de module serait comme ceci

Module UserDetails

Public SqlCon as SqlConnection
Public DataSet as DataSet
Public dataAdaptr as SqlDataAdapter

End Module

Dans l'exemple ci-dessus, j'utilise une connexion SQL, un ensemble de données, un adaptateur de données de toute forme, classe et module.

Cet exemple est déjà utilisé dans mes projets. Vous pouvez également l'utiliser dans vos projets Asp.net.


2 pour la réponse № 2

vous pouvez créer une classe statique publique

public static class GlobalVariable{
public static int globalvariable = 100;

}

alors vous pouvez accéder

GlobalVariable.globalvariable

1 pour la réponse № 3

Les variables de session et d'application sont "globales" sur Plateformes Web.

  • Session VAR (globale à la session utilisateur)
  • Application VAR (processus global à IIS pour le site Web, c'est-à-dire toutes les sessions accédant au site Web / à l'application)

Un module, avec une variable publique, sera global pour tous les formulaires / classes dans une application de type Windows.


0 pour la réponse № 4

Je vais probablement avoir des ennuis pour le mentionner commec’est tout à fait un sujet tabou. Il existe également des classes singleton qui sont des objets de classe qui peuvent être instanciés mais une seule peut exister à la fois. J'en utilise un pour une console personnalisée pour Winforms. Mais, oui, vous pouvez aussi utiliser un classe statique avec des variables statiques. Celles-ci peuvent être modifiées, mais vous aurez des problèmes avec les religieux "éthos orienté objet" car ils violent les principes sacrés de l'encapsulation.

Honnêtement, je n’ai besoin qu’une fois de ce que l’on pourrait appeler une "variable globale" et c’est tout l’espace que je veux occuper sur mon singleton de console avant de commencer à effacer les anciennes lignes.

Pourquoi avez-vous besoin d'une variable globale? Ils sont difficiles à utiliser avec le multithreading la plupart du temps et ils indiquent généralement que vous ne songez pas au code réutilisable. Les variables globales sont le ruban adhésif de la programmation orientée objet.