A quoi servent les deux points :

Résolu
sh4gm4 Messages postés 47 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 2 octobre 2008 - 20 août 2008 à 16:03
sh4gm4 Messages postés 47 Date d'inscription lundi 21 juillet 2008 Statut Membre 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...

2 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
20 août 2008 à 17:12
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
1