Débutant Dll C# interactions entre classes

Signaler
Messages postés
3
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
29 mai 2009
-
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
Bonjour,

J'ai créé une Dll en C# comprenant 2 classes (pour le moment) : une de connexion, une pour affichage.
Mon problème est le suivant : je voudrais lancer une connexion (et la conserver) à l'initialisation et ensuite utiliser cette connexion pour l'ensemble des méthodes utilisées par la suite.
Si vous pouvez me guider je vous en serai reconnaissant :)

Merci d'avance

5 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
en Windows Forms ? en Web Forms ?

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
Messages postés
3
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
29 mai 2009

J'ai pas de forms c'est une librairie de classes... à moins que je ne comprenne pas votre question...
Si nécessaire je peux fournir mon code mais c'est surtout la méthode qui m'intéresse (là j'en suis loin).
Messages postés
81
Date d'inscription
lundi 10 avril 2006
Statut
Membre
Dernière intervention
1 janvier 2010

Bonjour, 
      "je voudrais lancer une connexion "
Connexion réseau via Socket ou connexion SQL ?

D'une manière générale, si tu veux instancier quelque chose qui doit rester atteignable par tout le reste de ton code, il faut que tu déclare ton objet à la base de ton code, et non pas dans une procédure.
Pour partager un objet entre deux classe d'un même projet : il faut que cet objet sois déclaré comme 'Internal'.

Et juste histoire de bien comprendre : Est-ce que ta question a un rapport avec ActiveX et/ou Com interop ?

A plus.
Messages postés
3
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
29 mai 2009

Bonjour David,

Il s'agit d'un Com interop qui doit être utilisé dans un projet Windev. Le problème ne vient pas de la connexion en elle même mais du partage de cette connexion entre les classes.
Je ne connaissais pas la portée 'Internal' ou je l'ai oublié à vrai dire cela va faire plus de deux ans que je n'ai pas pratiqué... Internal peut être la solution.

Merci
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
hmm... le mot clé internal ne sert pas à ça !

MSDN : Le mot clé internal est un modificateur d'accès pour les types et les membres de types. Les types ou membres internes ne sont accessibles que dans des fichiers figurant dans le même assembly.
(http://msdn.microsoft.com/fr-fr/library/7c5ka91b(VS.80).aspx)

L'idéal est de créer un singleton dans lequel tu déclareras (et ouvriras) ta connexion.

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]