IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Translation de VB.net vers C#


Sujet :

ASP.NET

  1. #21
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Merci pour la ligne de code plus élagante, je suis toujours preneur de ce genre de chose, ça me permet de progresser.

    Par contre, Path ne serait il pas "réservé" aux applications et pas au sites Web ?
    Et Path.Combine c'est juste de la manip de chaines de caractère. Ca évite de se poser la question si un nom de répertoire se termine ou pas par "\" par exemple.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  2. #22
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Je plussoie Bluedeep concernant la doc! MSDN n'est pas là pour rien.
    Prenons l'exemple de Path.Combine, si ca n'est pas reconnu, hop je tape Path dans MSDN, je tombe sur cette page http://msdn.microsoft.com/en-us/library/3bdzys9w.aspx où l'on peut voir:
    Namespace: System.IO
    Assembly: mscorlib (in mscorlib.dll)
    mscorlib est toujours référencé donc je n'ai pas à ajouter de réference par contre il faut importer le namespace System.IO.

    Autre exemple pour le try/catch: je cherche catch je tombe sur cette page http://msdn.microsoft.com/en-us/library/0yd65esw.aspx et là l'exemple est plutôt clair et sans fioritures:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    catch (InvalidCastException e) 
    {
    }

  3. #23
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour tout.

    Effectivement, je ne sais pas pourquoi, mais j'ai zappé la MSDN depuis hier. Pourtant j'ai l'habitude d'elle, mais là, un oubli ou le mois d'Aout, bref, merci pour le rappel.

    Autre souci qui me tombe dessus, mais là, sincèrement, j'ai cherché et je ne trouve pas. A la compilation du projet j'ai une erreur qui ressort.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            public Dmanager(string idChainCo)
            {
                string sRQ = System.Configuration.ConfigurationManager.ConnectionStrings[idChainCo].ConnectionString;
                if (sRQ == "")
                {
                    throw new AppExecption("Chaine de connexion " + idChainCo + " introuvable");
                }
                Conex = new SqlConnection(sRQ);
            }
    Vous voyez le throw new AppExecption. Le new est souligné en bleu et me dit :
    Erreur 1 'SystemC.AppExecption' ne contient pas un constructeur qui accepte des arguments '1' D:\inetpub\SystemC\App_Code\DataCon.cs 54 23 http://www.systemc.maison/
    Maintenant le code de la Classe AppExecption
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class AppExecption : System.ApplicationException
        {
            AppExecption(string MsgError) : base(MsgError)
            {
            }
     
            AppExecption(Exception aException) : base(aException.Message, aException)
            {   
            }
        }
    Sauf que là, je comprends pas pourquoi ça me fait ça.
    Dans mon VB ça marche bien, sauf que ce qu'il y a aprés les : se trouve dans le corps de la Sub New.

    Là je pense que j'ai un problème de conception et un manque certains de compétence en la matière.

    Voyez vous le souci ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  4. #24
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    C'est quoi le code en VB?

  5. #25
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ah pardon, j'ai oublié de le remettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Public Class AppExecption
            Inherits System.ApplicationException
     
            Sub New(ByVal MsgError As String)
                MyBase.New(MsgError)
            End Sub
     
            Sub New(ByVal aException As Exception)
                MyBase.New(aException.Message, aException)
            End Sub
        End Class
    Et voilà
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  6. #26
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    C'est dans l'espace de noms System.IO

  7. #27
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Citation Envoyé par DonQuiche Voir le message
    C'est dans l'espace de noms System.IO
    Ok, merci, j'ai rajouté le using mais ça fonctionne toujours pas.
    J'ai toujours le même message.


    Autre point maintenant, mais qui doit releve plus de Visual Studio que de la programamtion elle même.

    J'ai une page ASPX de base accrochée à une MasterPage.
    Lorsque je bascule dans le CodeBehind je ne trouve pas la liste des évènements de la page comme en VB.
    En farfouillant sur le net je trouve pas mal de forum qui disent qu'il faut taper à la main les évènements.
    C'est ça qu'il faut faire ?
    ça me parait scabreux comme truc.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  8. #28
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    En fait, c'est pour le coup VB.Net qui est totalement magique (encore...)!
    Si tu veux faire quelque chose sur le load de la page il faut que tu overrides la méthode OnLoad/OnInit de la classe de base, ce qui est tellement plus POOtique que la magie de VB.Net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected override void OnLoad(EventArgs e)
    {
    	//blabla
    	base.OnLoad(e);
    }
     
    protected override void OnInit(EventArgs e)
    {
    	//blabla
    	base.OnInit(e);
    }

  9. #29
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Autre souci qui me tombe dessus, mais là, sincèrement, j'ai cherché et je ne trouve pas. A la compilation du projet j'ai une erreur qui ressort.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            public Dmanager(string idChainCo)
            {
                string sRQ = System.Configuration.ConfigurationManager.ConnectionStrings[idChainCo].ConnectionString;
                if (sRQ == "")
                {
                    throw new AppExecption("Chaine de connexion " + idChainCo + " introuvable");
                }
                Conex = new SqlConnection(sRQ);
            }
    Vous voyez le throw new AppExecption. Le new est souligné en bleu et me dit :


    Maintenant le code de la Classe AppExecption
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class AppExecption : System.ApplicationException
        {
            AppExecption(string MsgError) : base(MsgError)
            {
            }
     
            AppExecption(Exception aException) : base(aException.Message, aException)
            {   
            }
        }
    Sauf que là, je comprends pas pourquoi ça me fait ça.
    Dans mon VB ça marche bien, sauf que ce qu'il y a aprés les : se trouve dans le corps de la Sub New.

    Là je pense que j'ai un problème de conception et un manque certains de compétence en la matière.

    Voyez vous le souci ?
    Le constructeur de AppException est privé, donc inaccessible...

    Si je me souviens bien, en VB.NET l'accessibilité par défaut est public, alors qu'en C# c'est private (encore une aberration de VB, du point de vue POO...)

  10. #30
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Pour l'autre erreur c'est juste que tes constructeurs ne sont pas publics.

    Edit: Damn it! Grillé

  11. #31
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci mais là c'est encore plus scabreux que ce que j'ai vu sur le net.
    Que VB soit magique ou pas, avoir une liste déroulante qui te place la structure de l'évènement pour bosser me parait trés sympatique.

    Aprés tout, c'est l'ordinateur l'esclave de l'homme et pas l'inverse. C'est à lui de me faciliter le travail, pas à moi de faire hyper gaffe à chaque chose que je lui écris. Mais bon, aprés ça, c'est une question de point de vue.

    Pour l'instant j'ai trouvé sur le Net des corps de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
     
        }
     
        protected void Page_PreInit(object sender, EventArgs e)
        {
            this.Page.Culture = "fr-fr";
            SystemC.PageC.OuvertureSite(this.Page);
        }
     
        protected void Page_Init(object sender, EventArgs e)
        {
            SystemC.PageC.OuverturePage(this.Page);
        }
     
        protected void Page_LoadComplete(object sender, EventArgs e)
        {
            SystemC.Statistique.PrepaStat(this.Page);
        }
    }
    Lorsque je compile, il ne grogne pas, tout à l'air de fonctionner. L'ennui c'est que tout le temps que j'ai pas programmé le reste, je peux pas vérifier.

    Et tant que le compilatuer bug sur le problème de AppExectpion, je suis bloqué.

    Autre point dont je ne trouve pas la réponse dans la MSDN : les using.
    En VB on a les Imports, c'est la même chose. On peut les mettre dans le Web.config pour éviter de les répéter dans chaque classe que l'on fait.
    J'ai tenté la même chose en C#, mais ça marche pas.
    Y a un truc spécial à faire ou c'est une contrainte de C# ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  12. #32
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Le constructeur de AppException est privé, donc inaccessible...

    Si je me souviens bien, en VB.NET l'accessibilité par défaut est public, alors qu'en C# c'est private (encore une aberration de VB, du point de vue POO...)
    Merci tomlev et content de te revoir.

    Maintenant ça marche bien.

    Plus que le "souci" des using et je vais pouvoir entrer dans le vif du sujet.
    Il me reste tout le corps de création des pages à mettre en place.
    une fois que j'ai fini ça, je publie sur mon blog la version VB et je vais monter un site sur mon système pour présenter le version C#.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  13. #33
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Tu peux lire ce truc qui est interessant aussi:
    http://msdn.microsoft.com/en-us/libr...entwireup.aspx

    Dans une appli ASP.Net propre C#, il est souvent mis à false pour pas avoir les branchements magique hérités du VB.Net.

  14. #34
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Merci mais là c'est encore plus scabreux que ce que j'ai vu sur le net.
    Que VB soit magique ou pas, avoir une liste déroulante qui te place la structure de l'évènement pour bosser me parait trés sympatique.
    Tout à fait; et VS le fait très bien avec C#.
    Il suffit de taper "variable d'instance" suivi de '.' et tu as la liste méthodes et des évenement "abonnables" à l'instance; tu en choisis un, tu tape "+=" et TAB deux fois et il te factorise le handler d'event.

    Et tant que le compilatuer bug sur le problème de AppExectpion, je suis bloqué.
    La réponse t'a été donnée : les attributs sont private par défaut en C#.

    Autre point dont je ne trouve pas la réponse dans la MSDN : les using.
    En VB on a les Imports, c'est la même chose. On peut les mettre dans le Web.config pour éviter de les répéter dans chaque classe que l'on fait.
    J'ai tenté la même chose en C#, mais ça marche pas.
    Y a un truc spécial à faire ou c'est une contrainte de C# ?
    Non, les using on les met dans chaque classe (de plus, je ne vois pas comment ça peut marcher de les définir au niveau du projet, car si dans deux classes différente tu utilises deux classes qui ont le même nom et ne peuvent être différenciée que via le NS, il fait comment VB.Net ????).

    A vrai dire, on ne les met pas dans chaque classe, mais dans chaque fichier source (c'est à dire plus de une fois par classe en cas d'usage de classes partielles, et une fois pour toutes les classes dans le cas d'un seul fichier source avec plusieurs classe - pas recommandé en général).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  15. #35
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Tu peux lire ce truc qui est interessant aussi:
    http://msdn.microsoft.com/en-us/libr...entwireup.aspx

    Dans une appli ASP.Net propre C#, il est souvent mis à false pour pas avoir les branchements magique hérités du VB.Net.
    En plus, ça a des impacts négatifs en terme de perf que ce soit en VB.Net ou en C# (le système est obligé de résoudre des méthodes par Reflection dans ce cas).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  16. #36
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ok, je commence à voir.
    Déjà, je pense que je n'ai pas le bon vocabulaire dans le détail.
    Alors je vais reprendre autrement. D'abords les Using.

    En VB en haut du fichier de classe qui vient se metre dans le répertoire App_Code (c'est là le premier souci de vocabulaire, ce fichier je l'appelle Classe alors que c'est pas ça) on place des Imports comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Imports Microsoft.VisualBasic
    Imports ProjetY.Outils
    Imports System.Net
    Lorsque dans le web.config je mets ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	<pages theme="" validateRequest="false">
    			<namespaces>
    				<clear />
    				<add namespace="System" />
    				<add namespace="System.Collections" />
    				<add namespace="System.Collections.Specialized" />
    				<add namespace="System.Configuration" />
    				<add namespace="System.Text" />
    				<add namespace="System.Text.RegularExpressions" />
    				<add namespace="System.Web" />
    (ce ne sont que des exemples)

    Je n'ai pas besoins de remettre les imports dans chaque fichier de classe ou même dans les fichiers de CodeBehind.

    Du coup, j'ai essayé de faire la même chose dans mon projet C#, mais visiblement cela ne fonctionne pas car tant que je mets pas le using System.Web.UI je n'accède pas directement à l'objet Page (exemple qui me préoccupe en premier lieu).

    Donc, si je comprends bien, en C# on spécifie à chaque fois, pas moyen de ce rendre la vie plus facile ?
    C'est juste une question de fainéantise, rien de plus.


    Ensuite, les évènements de la page.
    J'ai lu ton lien Nathanael et j'ai tenté de metre la variable à true ou a false, mais ça n'a rien changé, rien dans la liste déroulante. Je l'ai même lu avant de poster sur le sujet, j'ai trouvé ça dans les forums.

    Par contre, Bluedeep, je ne comprends pas ton explication : c'est quoi la variable d'instance dans le cas d'un évènement de la page ?
    Moi, je veux juste avoir la liste déroulante des évènements de la page, rien de plus.
    Et, le temps que j'y pense, les contrôles de la page, tel que textbox ou label, ne sont pas là non plus, du coup, j'ai pas leurs évènements non plus, ça va être compliqué à programmer pour un gars comme moi qui a l'habitude d'être assister à mort par Visual Studio.

    Voyez vous ce que je veux dire ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  17. #37
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Voici ce qui est fait en fait quand il y'a le autowireupevent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    public partial class _Default : System.Web.UI.Page 
    {
        public _Default()
        {
            this.OnPreInit += Page_PreInit;
            this.OnInit += Page_Init;
            this.OnLoad += Page_Load;
            this.LoadComplete += Page_LoadComplete;
            //Pareil pour tous les autres evènements
        }
     
        protected void Page_Load(object sender, EventArgs e)
        {
     
        }
     
        protected void Page_PreInit(object sender, EventArgs e)
        {
            this.Page.Culture = "fr-fr";
            SystemC.PageC.OuvertureSite(this.Page);
        }
     
        protected void Page_Init(object sender, EventArgs e)
        {
            SystemC.PageC.OuverturePage(this.Page);
        }
     
        protected void Page_LoadComplete(object sender, EventArgs e)
        {
            SystemC.Statistique.PrepaStat(this.Page);
        }
    }
    Ce que disait Bluedeep c'est que lorsque tu fais this. dans le constructeur, tu as acces à tous les évènements de la page.
    Lorsque tu commences à faire protected override aussi (c'est p'tet mon resharper ca...)

    Si tu utilises les méthodes comme ca tu dois laisser ce autoeventwireup à true (valeur par défaut). Si tu fais un truc propre en faisait des overrides de la classe Page tu dois par contre le mettre à false.

  18. #38
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ok, je vois mieux maintenant et je comprends le souci de propreté du code et des performances.

    Mais le souci c'est que je ne connais pas par coeur les évènements de la page, ni les arguments qu'ils prennent.

    Au delà de ça, j'ai le même souci avec les contrôles de la page. Je place une TextBox côté HTML et elle apparait dnas la liste déroulante de droite. Quand je clique dessus il me renvoi sur le HTML.
    Alors que, quand je programme en VB, la TextBox est dans la liste déroulante de gauche et la liste déroulante de droite me donne la liste de tous les évènements du contrôle.

    Alors pour les pages, passe encore que je me prenne la liste sur une feuille de papier, mais pour tous les contrôles faire la même chose !!!!!
    rien que pour les évènements d'un GridView j'écris un bouquin, limite.....

    Faut pas me dire que vous codez tous, tous les trucs à la mains, sinon, je comprends mieux pourquoi un site en C# est plus long à faire qu'en VB.

    Ou alors j'arrive pas à expliquer ce que je veux dire.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  19. #39
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    J'ai un peu de mal à voir le problème en fait
    Si je veux m'abonner à un évènement, soit je le fais dans la fenêtre "Properties" (capture1), soit dans mon code asp (capture2) soit dans le code-behind (capture3).

    Alors ok y'a pas la magie de VB qui fait toute la liaison pour moi et c'est fait uniquement à ma demande mais bon c'est pas le drame non plus...
    Images attachées Images attachées    

  20. #40
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Faut pas me dire que vous codez tous, tous les trucs à la mains, sinon, je comprends mieux pourquoi un site en C# est plus long à faire qu'en VB.
    Euh... ah bon ?
    A priori les deux langages ont le même niveau de productivité (une fois que tu es à l'aise avec la syntaxe bien sûr... ce sera forcément plus long de faire un site en C# si tu connais bien VB et presque pas C#)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ConversioN C++.net vers visual C++ mfc
    Par ricky78 dans le forum MFC
    Réponses: 5
    Dernier message: 13/06/2007, 17h03
  2. ASP.net vers Crystal
    Par Fleur-Anne.Blain dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/05/2007, 09h57
  3. Une solution pour migrer de .NET vers MFC
    Par torNAdE dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2006, 22h23
  4. Convertion code Delphi.net vers C#
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 31/03/2006, 21h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo