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

sh4gm4 48 Messages postés lundi 21 juillet 2008Date d'inscription 2 octobre 2008 Dernière intervention - 20 août 2008 à 16:03 - Dernière réponse : sh4gm4 48 Messages postés lundi 21 juillet 2008Date d'inscription 2 octobre 2008 Dernière intervention
- 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 

2 réponses

Répondre au sujet
leprov 1163 Messages postés vendredi 23 juillet 2004Date d'inscription 21 octobre 2010 Dernière intervention - 20 août 2008 à 17:12
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de leprov
sh4gm4 48 Messages postés lundi 21 juillet 2008Date d'inscription 2 octobre 2008 Dernière intervention - 20 août 2008 à 17:22
0
Utile
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.