Bonsoir, oui, c'est possible, faut utiliser la reflexion. voir dans System.Reflection Namespace et la methode Assembly.CreateInstance
Cdt, Philippe
"Didier" wrote in message news:
Debutant en VB .NET j'aimerais savoir si il est possible d'appeler une classe dont le nom est dans une String
Dim strClassName as String = "CLASS1"
dim myObj as new Object myObj = ????? applel de la classe CLASS1
merci d'avance Didier
Didier
Merci pour cette reponse
petite precision que j'aurais du donner des le debut j'utilise le framework .NET 2.0 et Visual basic 2005 je n'ai pas trouve de CreateInstance dans le namespace System.reflection si quelqu'un peut me filer un petit bout de code (qui marche)
Didier
"Philippe L [MS]" wrote:
Bonsoir, oui, c'est possible, faut utiliser la reflexion. voir dans System.Reflection Namespace et la methode Assembly.CreateInstance
Cdt, Philippe
Merci pour cette reponse
petite precision que j'aurais du donner des le debut
j'utilise le framework .NET 2.0 et Visual basic 2005
je n'ai pas trouve de CreateInstance dans le namespace System.reflection
si quelqu'un peut me filer un petit bout de code (qui marche)
Didier
"Philippe L [MS]" wrote:
Bonsoir,
oui, c'est possible, faut utiliser la reflexion.
voir dans System.Reflection Namespace
et la methode Assembly.CreateInstance
petite precision que j'aurais du donner des le debut j'utilise le framework .NET 2.0 et Visual basic 2005 je n'ai pas trouve de CreateInstance dans le namespace System.reflection si quelqu'un peut me filer un petit bout de code (qui marche)
Didier
"Philippe L [MS]" wrote:
Bonsoir, oui, c'est possible, faut utiliser la reflexion. voir dans System.Reflection Namespace et la methode Assembly.CreateInstance
Cdt, Philippe
Patrice
Quelque chose comme :
Private Class Class1 Public Sub Hello() MsgBox("Hello") End Sub End Class
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim strClass As String = "WindowsApplication1.Form1+Class1" Dim o As New Class1 MsgBox(o.GetType.ToString) Dim obj As Object obj = Activator.CreateInstance(Reflection.Assembly.GetExecutingAssembly.GetType(strClass)) obj.Hello() End Sub
Il peut être également intéressant d'expliquer le but final (par exemple si les classes doivent avoir un certain nombre de méthodes bien précises, voir les interfaces).
-- Patrice
"Didier" a écrit dans le message de news:
Merci pour cette reponse
petite precision que j'aurais du donner des le debut j'utilise le framework .NET 2.0 et Visual basic 2005 je n'ai pas trouve de CreateInstance dans le namespace System.reflection si quelqu'un peut me filer un petit bout de code (qui marche)
Didier
"Philippe L [MS]" wrote:
Bonsoir, oui, c'est possible, faut utiliser la reflexion. voir dans System.Reflection Namespace et la methode Assembly.CreateInstance
Cdt, Philippe
Quelque chose comme :
Private Class Class1
Public Sub Hello()
MsgBox("Hello")
End Sub
End Class
Private Sub Form1_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim strClass As String = "WindowsApplication1.Form1+Class1"
Dim o As New Class1
MsgBox(o.GetType.ToString)
Dim obj As Object
obj =
Activator.CreateInstance(Reflection.Assembly.GetExecutingAssembly.GetType(strClass))
obj.Hello()
End Sub
Il peut être également intéressant d'expliquer le but final (par exemple si
les classes doivent avoir un certain nombre de méthodes bien précises, voir
les interfaces).
--
Patrice
"Didier" <Didier@discussions.microsoft.com> a écrit dans le message de news:
42F5D44E-6A3F-42E2-ADC2-C6AE46788FE3@microsoft.com...
Merci pour cette reponse
petite precision que j'aurais du donner des le debut
j'utilise le framework .NET 2.0 et Visual basic 2005
je n'ai pas trouve de CreateInstance dans le namespace System.reflection
si quelqu'un peut me filer un petit bout de code (qui marche)
Didier
"Philippe L [MS]" wrote:
Bonsoir,
oui, c'est possible, faut utiliser la reflexion.
voir dans System.Reflection Namespace
et la methode Assembly.CreateInstance
Private Class Class1 Public Sub Hello() MsgBox("Hello") End Sub End Class
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim strClass As String = "WindowsApplication1.Form1+Class1" Dim o As New Class1 MsgBox(o.GetType.ToString) Dim obj As Object obj = Activator.CreateInstance(Reflection.Assembly.GetExecutingAssembly.GetType(strClass)) obj.Hello() End Sub
Il peut être également intéressant d'expliquer le but final (par exemple si les classes doivent avoir un certain nombre de méthodes bien précises, voir les interfaces).
-- Patrice
"Didier" a écrit dans le message de news:
Merci pour cette reponse
petite precision que j'aurais du donner des le debut j'utilise le framework .NET 2.0 et Visual basic 2005 je n'ai pas trouve de CreateInstance dans le namespace System.reflection si quelqu'un peut me filer un petit bout de code (qui marche)
Didier
"Philippe L [MS]" wrote:
Bonsoir, oui, c'est possible, faut utiliser la reflexion. voir dans System.Reflection Namespace et la methode Assembly.CreateInstance