Bonjour, je débute en .net mais je connais le C++,
J'aimerais savoir comment fait-on pour instancier dynamiquement une classe?
Merci par avance.
Version imprimable
Bonjour, je débute en .net mais je connais le C++,
J'aimerais savoir comment fait-on pour instancier dynamiquement une classe?
Merci par avance.
il y a diférents chemin, à partir du type ou du nom du type, dont :
System.Activator.CreateInstance
letype.getconstructors(...).invoke
pourrais tu me donner un exemple avec la classe A
Si tu sais, à l'écriture du code, que tu veux instancier une classe A : "A x = new A();"
Si, à l'exécution tu veux instancier une classe quelconque dont le type est stocké dans une variable, soit "Activator.CreateInstance(type)", soit tu obtiens les infos du constructeur et tu utilises "constructor.Invoke()".
c'est quoi alors la différence entre un objet dynamique et un objet statique
faudrait expliquer ce que tu cherches
parce que dynamique ca veut tout et rien dire à la fois
et statique aussi on peut sortir plusieurs concepts derrière (variable statique, static/shared du c#, statique/qui bouge pas etc///)
dynamique c'est comme un tableau d'objets et statique un seul objet et il y a des notions de gain de mémoire, c'est pas ça?!
ouh là
un tableau d'objet on peut modifier la taille oui, par ailleurs les collections sont plus à conseiller que les tableaux
Code:
1
2
3
4
5
6
7
8 ' variable simple : dim i as integer ' tableau d'entier : dim ti() as integer dim ti(9) as integer ' 0 à 9 ' collection: dim ci as new list(of integer) ci.add(5)
Avant de continuer à répondre dans le vent à la question de départ, toutounesan prends quelques minutes pour mettre en ordre ce que tu veux demander exactement et repostes ensuite clairement ta demande. Pour le moment ça part dans tous les sens, sans savoir à quoi on doit répondre clairement, et c'est un peu l'anarchie.
Merci :)
et oui c'est la galère dans ma tête de traumatisée crânien, mdr!
Mais cela produit un nouvel objet, ça ne modifie pas l'original. Ça fait une grosse différence : les références à l'objet original ne sont pas modifiées. Donc, non, un tableau et une string ne peuvent pas être redimensionnés, ce n'est pas qu'une question de formulation, surtout pour quelqu'un qui apprend le langage et qui semble déjà bien égaré.
re, le mieux c'est pas d'utiliser une collection!
C'est assez puissant. Je viens de me faire un petit projet.
Mais comment fait-on pour faire une collection d'objets d'une classe que d'on souhaite? Il suffit d'ajouter cet objet à la un objet collection
par exemple MyCollection.Add(fils) //toto est un objet qui instancie la classe papa
rien compris
il existe pleind de collections dans .net, selon ce qu'on veut faire avec
list, dictionary, queue, sortedlist, stack, linkedlist etc...
pour une collection simple c'est list(of [le type que tu veux y compris une classe])
le list indexe les éléments entre 0 et (count -1)
pour les autres l'aide explique ce qu'elles font (genre queue et stack pour fifo/lifo)
Pourquoi ne pas faire du C# plutot que du VB.Net, venant de C++ ca serait plus simple pour toi!
car mon projet doit être fait en VB .net, c'est dans le cahier des charges