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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part using System.IO;
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part using System.IO;
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
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:
mscorlib est toujours référencé donc je n'ai pas à ajouter de réference par contre il faut importer le namespace System.IO.Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
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) { }
Retrouvez moi sur :
Mon Espace Developpez.com------------------------------- Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code---------------------------- Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
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 :
Vous voyez le throw new AppExecption. Le new est souligné en bleu et me dit :
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); }
Maintenant le code de la Classe AppExecptionErreur 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/
Sauf que là, je comprends pas pourquoi ça me fait ça.
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) { } }
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.
C'est quoi le code en VB?
Retrouvez moi sur :
Mon Espace Developpez.com------------------------------- Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code---------------------------- Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
Ah pardon, j'ai oublié de le remettre :
Et voilà
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
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.
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.
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); }
Retrouvez moi sur :
Mon Espace Developpez.com------------------------------- Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code---------------------------- Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Pour l'autre erreur c'est juste que tes constructeurs ne sont pas publics.
Edit: Damn it! Grillé
Retrouvez moi sur :
Mon Espace Developpez.com------------------------------- Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code---------------------------- Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
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 :
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.
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); } }
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.
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.
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.
Retrouvez moi sur :
Mon Espace Developpez.com------------------------------- Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code---------------------------- Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
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.
La réponse t'a été donnée : les attributs sont private par défaut en C#.Et tant que le compilatuer bug sur le problème de AppExectpion, je suis bloqué.
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 ????).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# ?
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
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
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 :
Lorsque dans le web.config je mets ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Imports Microsoft.VisualBasic Imports ProjetY.Outils Imports System.Net
(ce ne sont que des exemples)
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" />
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.
Voici ce qui est fait en fait quand il y'a le autowireupevent:
Ce que disait Bluedeep c'est que lorsque tu fais this. dans le constructeur, tu as acces à tous les évènements de la page.
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); } }
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.
Retrouvez moi sur :
Mon Espace Developpez.com------------------------------- Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code---------------------------- Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
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.
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...
Retrouvez moi sur :
Mon Espace Developpez.com------------------------------- Dvp.NET, une librairie open-source de composants .NET
Mon blog: Up there in the code---------------------------- Twitter: NatMarchand
Ma société: So@t
Showrizo : Suivez votre planning de séries télé sous Windows 8
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager