mimosa803
Messages postés345Date d'inscriptionjeudi 15 février 2007StatutMembreDernière intervention24 avril 2010
-
6 avril 2008 à 18:34
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009
-
6 avril 2008 à 21:57
Bonjour tous le monde, j'ai un question à poser concernant le mot clé this :
Dans une classe A j'ai une méthode qui prend en parmatère un objet de type A est ce que je peux mettre dans le paramètre le mot clé this ?
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009 6 avril 2008 à 19:19
Je suis pas sûr d'avoir bien compris mais c'est déjà un peu étrange une classe qui doit se passer en paramètre, dans 90 % des cas c'est mal réfléchi. (un objet de type A = un objet de la classe A ?). Le mot clé this est peu utilisé en C#, utilisé pour passe l'objet dnas lequel on est par exemple une Form à une fonction. Si j'ai répondu à coté hésite pas à mettre un exemple ;)
oximoron
Messages postés149Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention30 janvier 2009 6 avril 2008 à 21:57
Mais je comprend pas l'interet de ce que tu veux faire.
La classe à déjà accès à x et y pas besoin de lui passer à fonction_appele() à mois que ce soit une methode d'une autre classe ...
Voici le code que tu m'as donné un peu modifié dis moi si tu comprend mieux :
class
A
{
private
int _nX;
private
int _nY;
A(
int anX,
int anY)
{
//le this est inutile si on nomme "mieux" ces varibales
_nX
=anX;
_nY
=anY;
}
// Méthode
public
void fn()
{
// Pas besoin du this c'est une méthode de ma classe
fonction_appele (
);
// c'est une autre classe qui fait le traitement alors avec le this c'est bon je passe bien l'objet en cours.
CMaClasseDeTraitment loClasseDeTraitement = new CMaClasseDeTraitment ();
loClasseDeTraitement.MonTraitement(this); // par contre cela doit être une copie de l'objet (là je ne suis pas sûr) il faut peut être faire un loClasseDeTraitement.MonTraitement(ref this); mais je ne suis pas sûr que ca marche, et je n'aime pas trop ca revient un peu à passer toute la table quand quelqu'un de demande de te passer le sel ...
}
private void fonction_appele()
{
// ICI j'ai accès à _nX et _nY
}