Problème de casting

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 11 juin 2004 à 18:21
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 11 juin 2004 à 23:37
j'ai un problème de casting. j'ai un control qui est définit en tant que control simple

dim c as control

j'ai une string qui contient le type de ce control par exemple
dim type as string = "System.Web.UI.WebControls.TextBox"

mon problème c'est de faire en sorte que c devienne un TextBox

Je travail en VB.net
Je ne connais pas type ca peut tres bien etre un datagrid comme un label :p
Je sais que le type exacte de c correpond à type

je sais plus comment faire, j'ai l'impression que c'est un truc tout con à faire, mais je vois pas :p

Merci de votre aide :)

Cyril

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 juin 2004 à 22:13
type est une classe du framework ?

Je ne comprends pas trop ton message peux tu expliquer un peux mieux

tu travailles est asp.net ou en winforms

ctype et directcast permette de changer le type d'un objet

MessageBox.Show(sender.GetType.Name)

esperant te guider ;-)

mais ton message n'est pas clair
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
11 juin 2004 à 22:46
je travail en asp.net, mais la cette question n'est pas vraiment spécifique ni winform ni webform mais purement vb.net

j'obtient un string comme ceci

dim s as string
'Traitement de s etc...

'resultat :
s = "System.Web.UI.WebControls.TextBox"

maintenant j'ai un controle (moncontrol)qui est instancié etc ...

Je sais que moncontrol est en fait un TextBox mais pour l'instant ce n'est qu'un control

ce que j'aimerais c'est le transformer

un truc du genre

dim TB as textbox
TB = ctype(moncontrol ,"System.Web.UI.WebControls.TextBox")

mais ca ne marche pas car il voudrait une syntaxe du type

Tb = ctype(moncontrol ,System.Web.UI.WebControls.TextBox)

en esperant avoir été un peu plus cllair :)

Merci

Cyril
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 juin 2004 à 23:29
c'est pas gettype que tu recherches

Tb = ctype(moncontrol ,gettype("System.Web.UI.WebControls.TextBox"))

gettype(str) as type

voila

Public Shared Function GetType(ByVal typeName As String) As System.Type
Membre de System.Type

Summary:
Obtient le System.Type avec le nom spécifié, effectuant une recherche qui respecte la casse.

Parameters:
typeName: Nom du System.Type à obtenir.

Return Values:
System.Type présentant le nom spécifié, s'il est trouvé ; sinon, null.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
11 juin 2004 à 23:31
qd je disais que c'etait un truc tout con que je cherchais :)

merci

Cyril
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
11 juin 2004 à 23:35
:'( j'ai parlé trop vite, j'ai testé Tb = ctype(moncontrol ,gettype("System.Web.UI.WebControls.TextBox")) et ca me marque : "Le mot clé ne désigne pas un type"

pourtant ce serait exactement ce que je voudrais faire :-/

Cyril
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
11 juin 2004 à 23:37
et au fait non ce ne sera pas eactement ce que je veux faire, car dans ton cas comment déclares tu TB ?

:-/ c'est peut etre pas si simple que ce que je croyais

Cyril
0
Rejoignez-nous