cs_vincent_c
Messages postés5Date d'inscriptionmardi 25 janvier 2005StatutMembreDernière intervention10 janvier 2007
-
15 févr. 2005 à 23:25
cs_vincent_c
Messages postés5Date d'inscriptionmardi 25 janvier 2005StatutMembreDernière intervention10 janvier 2007
-
16 févr. 2005 à 09:56
Nota : EDI utilisé DELPHI 2005;
Le probléme qui se pose est le suivant :
Je souhaite pouvoir partager des variables ou des objets à partir de tous les .CS d'un même projet (qui sont dans le meme namespace). La propriété public semble la solution, cependant si j'instancie un objet (declare public) dans 1.CS , et que je veux utiliser une de ses méthode dans 2.CS (par exemple) j'obtient un message d'erreur à la compil de type : une reference d'objet est requise pour la proprité, la méthode, ....
Merci par avance aux différents lecteurs, de cette navrante histoire.
Vincent Canestrier
A voir également:
Problème sur la portée des variables (int, obj, ...)
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 16 févr. 2005 à 08:56
Imaginons que dans 1.cs tu aies la classe Class1, et dans 2.cs la classe Class2
Dans Class2 tu fais :
Class1 c1 = new Class1();
puis
c1.MaPropriete = "aaa" ;
c1.MaMethode();
Ou alors, si tu veux pouvoir acceder aux propriétés et méthodes de la
classe C1 sans instancier, tu déclares tes propriétés et méthodes en
static, puis
Class1.MaPropriete = "aaa" ;
Class1.MaMethode();
Et la, les propriétés et méthodes sont accessibles "en commun"
Troisieme solution, tu utilises un singleton.
public class Class1
{
// Le singleton
public static readonly Class1 Instance = new Class1();
// Construteur
public Class1()
{
}
//les propriétés et méthodes
public string MaPropiete
{
get
set
}
public void MaMethode()
{
...
}
}
et ensuite tu l'utlises comme suit dans toutes les classes que tu veux !
cs_vincent_c
Messages postés5Date d'inscriptionmardi 25 janvier 2005StatutMembreDernière intervention10 janvier 2007 16 févr. 2005 à 09:56
Salut Mx,
Je dois dire que j'ai cherché un moment avant de poster cette question (exces de confiance). Mais je ne regrette pas, en effet, la solution du singleton, permet d'instancier des objects, et d'acceder à ses méthodes, à ces propriétés (lecture, ecriture), ...
Merci pour ton aide, et une leçon de modestie pour ce qui me concerne.