Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tester l'existance d'un objet

1 réponse
Avatar
Stéphane ANDRE
Question stupide :
comment tester l'existence d'un objet ?
Je m'explique :

je fait :
_oADOConnection_BaseLocale = new
System.Data.SqlServerCe.SqlCeConnection("Data
Source="+classConstantesApplication.sCheminBaseLocale_BD);

avec _oADOConnection_BaseLocale étant un membre statique comment faire pour
tester dans ma méthode, avant d'exécuter cette ligne si le New à déjà été
effectué sur cet objet.

Si je fait :
//Si l'objet connexion à déjà été instancé
if (_oADOConnection_BaseLocale == null)

Cela ne marche pas.

Merci d'avance.

1 réponse

Avatar
Paul Bacelar
Pourquoi ne pas l'initialiser dans le constructeur static de votre classe?

Il ne sera appelé qu'une fois par AppDomain.

Il est rare d'avoir plusieurs AppDomain dans un programme simple.


<CODE>
class MaClass {
...
static System.Data.SqlServerCe.SqlCeConnection _oADOConnection_BaseLocale new System.Data.SqlServerCe.SqlCeConnection("Data
Source="+classConstantesApplication.sCheminBaseLocale_BD);
...
}
</CODE>
ou
<CODE>
class MaClass {
...
static System.Data.SqlServerCe.SqlCeConnection _oADOConnection_BaseLocale null;
...
static MaClass(){
_oADOConnection_BaseLocale = new
System.Data.SqlServerCe.SqlCeConnection("Data
Source="+classConstantesApplication.sCheminBaseLocale_BD);
}
...
}
</CODE>

Si classConstantesApplication.sCheminBaseLocale_BD n'est pas vraiment une
constante, utilisez le Design Pattern Singleton.

<CODE>
public sealed class SingletonClassADOConnection
{
private static volatile System.Data.SqlServerCe.SqlCeConnection
_instance;
private SingletonClassADOConnection () {}
private static readonly object _syncRoot = new object();

public static System.Data.SqlServerCe.SqlCeConnection Value
{
get
{
if (_instance == null)
{
lock(_syncRoot)
{
if (_instance == null)
{
_instance = new
System.Data.SqlServerCe.SqlCeConnection("Data
Source="+classConstantesApplication.sCheminBaseLocale_BD);
}
}
}
return _instance;
}
}
}
</CODE>

--
Paul Bacelar

"Stéphane ANDRE" wrote in message
news:
Question stupide :
comment tester l'existence d'un objet ?
Je m'explique :

je fait :
_oADOConnection_BaseLocale = new
System.Data.SqlServerCe.SqlCeConnection("Data
Source="+classConstantesApplication.sCheminBaseLocale_BD);

avec _oADOConnection_BaseLocale étant un membre statique comment faire


pour
tester dans ma méthode, avant d'exécuter cette ligne si le New à déjà été
effectué sur cet objet.

Si je fait :
//Si l'objet connexion à déjà été instancé
if (_oADOConnection_BaseLocale == null)

Cela ne marche pas.

Merci d'avance.