A quoi servent les deux points : [Résolu]

Messages postés
48
Date d'inscription
lundi 21 juillet 2008
Dernière intervention
2 octobre 2008
- 20 août 2008 à 16:03 - Dernière réponse :
Messages postés
48
Date d'inscription
lundi 21 juillet 2008
Dernière intervention
2 octobre 2008
- 20 août 2008 à 17:22
salut,

j'ai deux cas dans mon code généré par xsd.exe ou je ne comprend pas l'utilisation des :
déclaration d'un methode, du moins je crois...

public partial class NewDataSet : global::System.Data.DataSet
{
   [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
   protected NewDataSet(global::System.Runtime.Serialization.SerializationInfo info,
                                      global::System.Runtime.Serialization.StreamingContext context) :
                base(info, context, false)
   {
      // j'ai enlevé le code, je ne crois pas qu'il vous soit util ! ;o)
   }
}

<li>je ne comprends pas le global::</li><li>ni le : avant base.</li><li>je crois que entre class NewDataSet et global::System.Data.DataSet
c'est pour declarer l'heritage mais même ca je ne suis pas sur!
</li>Merci pour vos explications !
sh4gm4

-------------------------------------------------------------------
Diaboliser quelqu'un ne lui fait pas pousser les cornes et la queue...
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
1163
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
21 octobre 2010
- 20 août 2008 à 17:12
3
Merci
oulah, tu devrais commencer par remettre le code (jamais bon de toucher a du code généré).
Ensuite, tu devrais reprendre des manuels de programmation, car cest quand meme la base (ceci dis sans aucune attaque, cest un conseil sincère)...
le : avant le base permet d'indiquer qu'avant l'execution du code du constructeur, le constructeur de la classe de base sera appelée (System.Data.DataSet).
Le :: permet d'indiquer que System.Data.DataSet doit être recherché dans le namespace global. Imagine que tu aies fait ceci :

class System
{
public class blabla
{
public static string DataSet {get;}
}

public static blabla Data { get; }

}

Le compilateur ne saura pas de qui tu parle lorsque tu écrit
System.Data.DataSet (estce la classe du namespace global DataSet, ou la class System que tu as défini toi?)

voila voila

Merci leprov 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de leprov
Messages postés
48
Date d'inscription
lundi 21 juillet 2008
Dernière intervention
2 octobre 2008
- 20 août 2008 à 17:22
0
Merci
c'est donc une précaution du générateur de code (il n'y a pas de class system dans mon programme.)
je n'ai pas touché au code généré, je te rassure je l'ai just enlever sinon mon post aurait ete trop long!
Sinon base est donc un mot clé qui renvoie a l'héritage de ma classe.
Quant aux manuels de prog, j'en ai qq1, mais comme je dev dur la, je n'avais pas le tps de chercher.
Je suis un newbie en C#, plus l'habitude de PHP/MySQL/AJAX...
bref ! MERCI :)

-------------------------------------------------------------------
Diaboliser quelqu'un ne lui fait pas pousser les cornes et la queue...
Commenter la réponse de sh4gm4

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.