Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1466 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [VB.NET] Acceder au variables d'une classe...?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB.NET] Acceder au variables d'une classe...?

n°1392363
kissskoool
Posté le 21-06-2006 à 17:40:04  profilanswer
 

Bonjour,
 
Ma question est assez simple :
 
Si par exemple j'ai une classe "Test", qui contient 2 variables :  
 
- i as integer
- str as string
 
Que dans mon code j'ai une fonction que j'appelle plusieurs fois qui fait :
 
Private Sub NewTest_Init()
 
Dim montest as New Test
 
End Sub
 
Comment faire par la suite pour pouvoir acceder aux variables i et str d'une classe cree en particulier vu quelle auront toutes le meme nom : montest ??
 
Est il possible d'incrementer le nom a chaque declaration pour avoir un nom unique??
 
Merci

mood
Publicité
Posté le 21-06-2006 à 17:40:04  profilanswer
 

n°1392377
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2006 à 17:51:33  profilanswer
 

Citation :

Comment faire par la suite pour pouvoir acceder aux variables i et str d'une classe cree en particulier vu quelle auront toutes le meme nom : montest ??


comment ça "elles auront toutes le meme nom" ? tu connais le principe d'instanciation d'une classe ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1392384
kissskoool
Posté le 21-06-2006 à 17:57:42  profilanswer
 

Non effectivement j'ai du louper quelquechose...
Je suis sur qu'il y a une solution, mais je ne la connais pas...est il possible d'avoir une piste de recherche ?
 
Sinon je veux dire que comme je les ai toutes declaree par dim montest as new test, je ne sais pas apres comment acceder au variable de l'un ou l'autre de mes objets crees
 
Merci

n°1392438
moi23372
Posté le 21-06-2006 à 19:14:36  profilanswer
 

déjà si tu veux y accéder elles doivent être "public"...
 
je ne connais pas bien vb.NET
mais en C#
 
public class TEST
{
    public int a;
    public int b;
}
 
TEST t = new TEST();
t.a = 1;
t.b = 2;
 
mais normalement les variables doivent être privée, et pour y accéder il faut des ascesseurs
 
public class TEST
{
    private int a;
    private int b;
 
    public int A
    {  
        get { return a; }
        set { a =value; }
    }
    public int B
    {
        get { return b; }
        set { b = value; }
    }
}
 
alors ici pour y accéder c'est
 
TEST t = new TEST();
t.A = 1;
t.B = 2;
 
int temp = t.A;  
 
mais bon si tu comprends pas ça, vaudrait mieux que tu retournes aux bases
 
si tu en veux plusieurs
 
TEST t1 = new TEST();
TEST t2 = new TEST();
TEST t3 = new TEST();
 
et bien entendu, chaque instance (t1, t2, t3, ...) représente une instance de la classe TEST. Ils sont donc tous indépendant...  
Voix ça comme trois ceaux différents avec chacun leur substance...


Message édité par moi23372 le 21-06-2006 à 19:17:22
n°1392444
kissskoool
Posté le 21-06-2006 à 19:25:32  profilanswer
 

Oui mais tout ca je sais...mon probleme est que chaque instance est cree pendant le runtime donc que je ne connais pas leur nom a l'avance...je ne peux pas creer de t1,t2,t3 car je ne sais pas combien il y en aura...

n°1392454
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 21-06-2006 à 19:45:35  profilanswer
 

kissskoool a écrit :

Oui mais tout ca je sais...mon probleme est que chaque instance est cree pendant le runtime donc que je ne connais pas leur nom a l'avance...je ne peux pas creer de t1,t2,t3 car je ne sais pas combien il y en aura...


chaque instance est créée pendant le runtime ? c'est nouveau ça ? et depuis quand ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1392475
moi23372
Posté le 21-06-2006 à 20:29:56  profilanswer
 

s'il expliquait déjà à quoi il voulait arriver.
 
Sinon rien ne t'empêche de passer par un ArrayList de référence d'objet. C'est pour ça que c'est fait...
 
Sinon il te reste aussi l'introspection, mais la on commence à aller loin, surtout que tu n'as même pas l'air de maitriser la POO convenablement...


Message édité par moi23372 le 21-06-2006 à 20:30:51
n°1392476
satirik
Posté le 21-06-2006 à 20:35:23  profilanswer
 

kissskoool a écrit :

Oui mais tout ca je sais...mon probleme est que chaque instance est cree pendant le runtime donc que je ne connais pas leur nom a l'avance...je ne peux pas creer de t1,t2,t3 car je ne sais pas combien il y en aura...


 
... les instances de classes sont toujours créé pdt le "runtime" (ca ne veut rien dire au passage) si tu connais pas les noms des instances de ta classes alors c'est que tu sais pas mais alors pas DU TOUT ce que tu fais ... faut apprendre a coder avant de pouvoir essayer l'objet.

n°1399227
_Mose_
Lonesome coder
Posté le 03-07-2006 à 11:10:22  profilanswer
 

Oula faut se calme les gens.
 
Kisskool : si j'ai bien compris, tu veux instancier un nombre n d'instances de ta classe 'Test' pendant l'exécution (le runtime) de ton programme.
Et tu ne sais pas comment les identifier ?
La solution :
* Tu instancies un tableau de 'Test'
* Puis tu fais une boucle sur toute la longueur de ton tableau pour instancier chaque 'Test' de ton tableau.
* Ainsi tu pourras y accéder simplement et proprement en utilisant les indices du tableau.
 
Je connais pas VB.Net, mais en C# ça donne ça :

Code :
  1. // le nombre d'instances à créer
  2. int count = 20;
  3. // le tableau
  4. Test []mestests = new Test[count];
  5. // la boucle
  6. for(int i = 0;i < count; i++)
  7.   mestests[i] = new Test();
  8. // pour accéder à tes données
  9. mestests[0].str = "première chaine";

n°1399348
moi23372
Posté le 03-07-2006 à 12:23:50  profilanswer
 

et si tu veux que ce soit dynamique, tu passes par un ArrayList qui est un tableau dynamique... ça à plus ou moins le même fonctionnement que les tableaux statiques mais avec des plus.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [VB.NET] Acceder au variables d'une classe...?

 

Sujets relatifs
Manipulation Word sous .NetManipulation Word sous .Net
problème de transmission de variablesGarder les variables POST après une redirection header
Comment remplir un DataGrid à partir d'un fichier XML en VB.Net ??[ADO .NET][RESOLU] Remplir un DataGridView avec un Datareader ?
Design de classe[VB.NET] Export Crystal Report en PDF
[Vb.NET et Sharepoint] Usercontrol et variable de session (Résolu)Acceder en VBS via ligne de cmd à un fichier excel
Plus de sujets relatifs à : [VB.NET] Acceder au variables d'une classe...?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR