Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : VB.Net : DirectCast ou CType ? [ Divers / General ] (MartialArtist)

vendredi 26 septembre 2008 à 18:25:22 | VB.Net : DirectCast ou CType ?

MartialArtist

Bonjour !

Je code en VB.Net 2005.
J'aurais une question : quel est le plus rapide/adapté entre DirecCast et CType pour récupérer la form fille d'une form MDI ?

J'utilise ceci :

Dim

frm As frmChild

frm =

DirectCast ( Me .ActiveMdiChild, frmChild) frmChild étant la form fille et le code étant appelé dans la form MDI.


Est-ce optimal en terme de vitesse d'exécution ? Ou bien l'utilisation de CType est-elle meilleure ? Pourquoi ?

Merci,
Bien cordialement.

samedi 27 septembre 2008 à 00:21:15 | Re : VB.Net : DirectCast ou CType ?

Willi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonsoir, ce lien sera mieux qu'un petit (moyen) discours parsemés de fautes
http://msdn.microsoft.com/fr-fr/library/7k6y2h6x(VS.80).aspx

En clair utiliser DirectCast te donnera sensiblement de meilleur performance si tu sais que le type de ton objet à convertir et le type de convertion sont les "mêmes" (question d'héritage...).

Finalement je te conseille quand même de lire le lien donné tu comprendras mieux !
++

samedi 27 septembre 2008 à 00:26:38 | Re : VB.Net : DirectCast ou CType ?

MartialArtist

D'accord merci !

samedi 27 septembre 2008 à 00:30:15 | Re : VB.Net : DirectCast ou CType ?

Kevin.Ory

Salut,
Désolé de m'incruster, mais j'ai une question en rapport avec ta question MartialArtist, alors j'en profite

Moi je suis du genre à faire comme ceci:
Dim frm As frmChild = Me.ActiveMdiChild
Ca donne quoi ceci? VB fait-il un DirectCast ou un CType?

Rappelons que Dim Val As Double = Integer.Maximum fonctionne aussi, et là il est clair qu'un DirectCast ne fonctionne pas...

samedi 27 septembre 2008 à 00:37:00 | Re : VB.Net : DirectCast ou CType ?

MartialArtist

Ah, çà c'est une bonne question, je ne savais pas que c'était possible de procéder comme cela ?

Si quelqu'un connait la réponse, qu'il n'hésite pas, çà m'intéresse également !


Peut être que VB est intelligent et détecte un héritage entre les classes frmChild et Form, et donc fait un DirectCast ?

samedi 27 septembre 2008 à 02:10:00 | Re : VB.Net : DirectCast ou CType ?

Kevin.Ory

"Ah, çà c'est une bonne question, je ne savais pas que c'était possible de procéder comme cela ?"
Tu fais jamais des truc du genre :
PictureBox1.Image = Bitmap.FromFile("C:\Image.jpg") ' Cast Image => Bitmap
Dim MyBitmap As Bitmap = PictureBox1.Image
? ' Cast Bitmap => Image
Il s'agit bien d'un DirectCast dans ce cas, mais VB sait aussi faire une réelle conversion:
Dim MyValue As Integer = 12
TextBox1.Text = MyValue ' Conversion Integer => String
J'ai toujours pas mal profité des capacités du compilateur à faire les conversions tout seul, mais j'aime bien savoir ce que VB fait "en dessous".
"Peut être que VB est intelligent et détecte un héritage entre les classes frmChild et Form, et donc fait un DirectCast ?"
Oui je le pense, mais ce n'est que mon avis, j'aimerais bien une confirmation

samedi 27 septembre 2008 à 10:51:46 | Re : VB.Net : DirectCast ou CType ?

MartialArtist

"Tu fais jamais des truc du genre " ==> En fait non, parce que j'utilise Option Strict On

Du coup je fais tous les casts à la main, mais VB à l 'air d'être très fort pour caster automatiquement !

samedi 27 septembre 2008 à 12:12:34 | Re : VB.Net : DirectCast ou CType ?

Willi

Membre Club Administrateur CodeS-SourceS
>>Moi je suis du genre à faire comme ceci:
>>Dim frm As frmChild = Me.ActiveMdiChild
>>Ca donne quoi ceci? VB fait-il un DirectCast ou un CType?

>>Rappelons que Dim Val As Double = Integer.Maximum fonctionne aussi, et là il est clair qu'un DirectCast ne fonctionne pas...

Pour les conversions implicites VB utilisera lors de la génération CType.

Encore une fois il existe de nombreux article sur la toile sur les principes de bases de vb.net sur les conversions de types: Lien

dimanche 28 septembre 2008 à 17:52:37 | Re : VB.Net : DirectCast ou CType ?

Kevin.Ory

"j'utilise Option Strict On"
OK

Merci Willi



Cette discussion est classé dans : form, net, vb, ctype, directcast


Répondre à ce message

Sujets en rapport avec ce message

imprimer une form sous vb.net [ par daminus2 ] Salut,Je cherche quelqu'un pour m'aider à imprimer un objet form en langage visual basic.net...Merci d'avance. Limitation VB.Net Form [ par gwiwi ] Bonjour,Sous VB6 le nombre de controles dans une form est limité aux environs des 100.Est ce toujours le cas sous VB.NET ???Merci de vos reponses. Pomé dans VB..net [ par clem2003 ] Je suis passé aVB.net, je commence tranquillement a regarder les nouveautés, dont la form oaque et transparente qui sont pas mal du tout :) ... Puis j Je suis comme un con avec vb.net [ par AraXeen ] AraXeenEn vb6, un truc du genre :''''Dans un module''''Dim FormName as Form''''Dans une Form avec un TextBox Text1''''Sub Form_Load() Set FormName VB.NET affichage de Form [ par Devpeur ] Salut à tousCa fait 1 heure que je travail sur VB.NET alors un peu d'indulgence!Voici ce que je n'arrive pas à faire:J'ai une form (WebForm1) où en cl Affichage de Form en VB.NET [ par BoLyS ] Salut.J'ai une Form1 avec un bouton et un Form2 déjà crée.Je voudrai faire apparaitre mon form2 en cliquant su rle bouton du form1 et si possible fair reload d'une form vb.net [ par BoLyS ] J'ai une form avec plein de texbox, combobox etc...cela me sert à créer des enregistrements dans une base de données.Cependant après validation de l'e FORM EN VB.NET [ par reyman ] je travaille sur une form nommé form1 et j'aimerais appres un clic sur un bouton que ca lance une autre form nommé form2 , comment faire??en vb6 on fa fermeture d'un form sous vb.net [ par snipeurs92 ] je voudrais savoire comman quand je mes un lien avec un form fermer la presedante sous vb.net et savoir par la meme aucasion commant je peut enregistr Comment imprimer une form en vb.net ? [ par frappemisere ] j aimerais savoir comment imprimer une form complete.et si il y a moyen de definir une zone à imprimer.Merci de m'avoir lu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.