C# [This] Paramètre d'une méthode

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#1
Bonsoir je n'arrive pas totalement à saisir le sens du mot clé this ici (https://image.noelshack.com/fichiers/2017/21/1495566299-capture0.jpg), en effet lorsque je place la souris en "survole" dessus j'ai : https://image.noelshack.com/fichiers/2017/21/1495566307-capture.jpg or si je remplace cet argument par Persons directement j'ai sa :
https://www.noelshack.com/2017-21-1495566310-capture2.jpg. Si quelqu'un pourrait m'éclairer sur ce petit problème qui en n'est pas un véritablement, sa serait cool merci.

Ps : le code n'est pas finit je rajouterais les attributs apte a la sérialisation en format XML.
 
Dernière édition:
Inscrit
24 Juin 2015
Messages
53
Reactions
0
#2
this != Class name

this keyworkd basycally its call the class itself (already on memory, this means already called "new ClassName" (if is not a static class)), just try put a field on the beggining of the class like "private int test = 0;" and you can see that can call "this.private" that is the same to call "private" (inside the class)

If you need pass the Persons well just do :

serializerToXml.Serialize(write, new Persons()); // this is useless in certain way if you don't have a constructor to add data to this class
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#3
le mot clé 'this' représente l'instance de l'objet dans lequel il se trouve.
Persons est une classe. Quand tu utilise 'new Persons()' tu crée une instance. A l'intérieur de cette instance 'this' représentera donc l'instance que tu as crée.
 

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#4
le mot clé 'this' représente l'instance de l'objet dans lequel il se trouve.
Persons est une classe. Quand tu utilise 'new Persons()' tu crée une instance. A l'intérieur de cette instance 'this' représentera donc l'instance que tu as crée.
Merci, c est plus clair maintenant
 

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#5
this != Class name

this keyworkd basycally its call the class itself (already on memory, this means already called "new ClassName" (if is not a static class)), just try put a field on the beggining of the class like "private int test = 0;" and you can see that can call "this.private" that is the same to call "private" (inside the class)

If you need pass the Persons well just do :
Ahh Okay, thx it is the same to exemple with the int *-*:D
 
Inscrit
25 Novembre 2015
Messages
169
Reactions
20
#6
Par contre, plus personne utilise le xml, comme alternative "moderne" tu as le json par exemple ;)
 

Skin

Membre
Inscrit
24 Septembre 2016
Messages
1
Reactions
0
#7
Par contre, plus personne utilise le xml, comme alternative "moderne" tu as le json par exemple ;)
Je suis assez surpris de cela, selon moi il était toujours d'actualité grâce à sa compréhension assez simpliste. Même s'il est verbeux, d'autant plus que le XML est encore en général d'actu. D'ailleurs il est utile dans le sens où il peut servir de configuration (il est directement modifiable via traitement de texte tel que Notepad).
 
Inscrit
25 Novembre 2015
Messages
169
Reactions
20
#8
Effectivement cela dépend des cas, les deux ont leurs particularités, le JSON a par exemple les particularités d'être plus rapide à serializer/deserializer et moins verbeux (enfin, c'est une question de point de vue). C'est même possible de faire des bases de données en xml ! (le json est également directement modifiable via traitement de texte tel que Notepad, en plus d'être moins verbeux)
 

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#9
Par contre, plus personne utilise le xml, comme alternative "moderne" tu as le json par exemple ;)
Le json est il plus économe au niveau de la taille que le XML ?
 

Kyu

Staff
Membre du personnel
Inscrit
4 Octobre 2009
Messages
327
Reactions
8
#10
Le json est il plus économe au niveau de la taille que le XML ?
Bien sûr c'est pour cela qu'il est fortement utilisé par les api REST.
 

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#11
Bien sûr c'est pour cela qu'il est fortement utilisé par les api REST.
Merci de l'information, du coup je vais plus opter pour le json.
 
Inscrit
25 Novembre 2015
Messages
169
Reactions
20
#12
Il est non seulement moins lourd, mais aussi plus rapide a traiter. Tu as aussi le yalm comme alternative au json !
 

Soap

Membre
Inscrit
12 Avril 2017
Messages
72
Reactions
2
#13
Il est non seulement moins lourd, mais aussi plus rapide a traiter. Tu as aussi le yalm comme alternative au json !
Cependant toutes ces alternatives ne bénéficies pas de Linq To XML(logiquement) ?
 
Inscrit
25 Novembre 2015
Messages
169
Reactions
20
#14
Elles en ont pas besoin :)
 
Haut Bas