IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

Probleme get set


Sujet :

C++/CLI

  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut Probleme get set
    Bonjour.

    Voila j ai en c++ natif natif une methode qui fait:

    bag.item("test")=2;

    Ou alors elle peut faire 2=bag.item("test");

    En clair elle fait le get et le set. En c++ natif le get et le set est pris en charge dans une methode. Cependant en c++ manage ca ne l'est pas.

    Comment je peux faire?

    Merci

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ca veut dire ca le fait pas ?
    tu veux dire que tu n'arrives pas à faire des accesseurs en C++/CLI ?

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    Oui il n'est pas possible de faire un get et un set dans une méthode. Ca marche seulement avec les property

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    et c'est génant ? ca fonctionne de la meme facon

  5. #5
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    Merci pour ta réponse. Mais si j'ai ma méthode qui prend en parametre string.

    Je ne peux pas mettre de get et de set à l'interieur.

    Le get fonctionne car c est une fonction qui retourne quelque chose mais le set n'est pas possible. Ou alors il faut que tu m'expliques comment.

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    je ne comprends pas vraiment ton problème, on peut faire des accesseurs qui prenent des string en paramètre

  7. #7
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    je peux faire?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    item(string str)
    {
    get
    {
    }
     
    set
    {
    }
     
    }

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    exemple tout bete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    ref class C1
    {
    private:
    	String ^_chaine;
    public:
    	C1()
    	{
    	}
     
    	property String^ Chaine
    	{
    		String^ get() { return _chaine; }
    		void set(String ^ value) { _chaine = value; }
    	}
     
    };
     
    int main(array<System::String ^> ^args)
    {
    	C1 ^ c1 = gcnew C1();
    	c1->Chaine = "Test";
        Console::WriteLine(c1->Chaine);
        return 0;
    }

  9. #9
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    Ton exemple de code est interessant. Neanmoins ca je sais faire.

    Mon probleme est que je souhaite que ce soit une fonction qui prenne un parametre. Hors la tu crees une property String^ sans parametre.

    Je t ai envoye un MP avec un morceau de mon code qui t explique mon probleme

  10. #10
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    je ne comprends pas, si tu veux faire un accesseur, c'est comme ca

    si tu veux faire une méthode qui prend une chaine en paramètre, il faut faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void SetValeur(String ^chaine)
    {
        _chaine = chaine;
    }
    si la question est : est-ce que je peux appeler ma méthode set ou get ? la réponse est non

  11. #11
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    Merci pour tes reponses. Mais je vais te surprendre. Finalement j ai trouve. Il faut utiliser les proprietes indexees.

    Merci encore.

  12. #12
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    on peut voir la solution ?

  13. #13
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    Oui bien sur.

    Donc dans ma dll en c++ j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    public: Object^ obj;
    	private: int test;
    	private: static Hashtable^ tabobj=gcnew Hashtable();
    public: property Object^ item[String^] 
    		{ 
    			Object^ get(String^ str)
    			{ 
    				if(tabobj->ContainsKey(str)==true)
    				{
    				MessageBox::Show("Recuperation dans la table");
    				obj=tabobj[str];
    				}
    				else MessageBox::Show("La cle n existe pas"); 
    				return obj; 
    			}
    			void set(String^ str,Object^ value) 
    			{ 
    					if(tabobj->ContainsKey(str)==false)
    				{
    					MessageBox::Show("Creation de la valeur cle");
    					obj=value;
    					tabobj->Add(str,obj);
    				} 
    			}
    		}
    Et dans mon programme en vb.net que je compile dynamiquement j ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Public Function testy()
                input1.item("essai") = "12345"
                input1.item("essai2") = "123456"
     
                input4 = input1.item("essai")
    	    MsgBox(input4)'M affiche 12345
     
    End Function
    Voila si tu as d autres questions n hesitent pas.

  14. #14
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ah oué ...

    autant pour moi, il y avait la réponse dans la faq c++/cli http://dotnet.developpez.com/faq/cpp...ndexedoperator

    si j'avais lu completement la question ...
    désolé du contretemps

  15. #15
    Membre averti
    Inscrit en
    Février 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 28
    Par défaut
    Pas de probleme. C'était cool de me répondre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de GET SET.
    Par Naografix dans le forum C#
    Réponses: 0
    Dernier message: 23/03/2014, 19h17
  2. [C#] Probleme Get / Set
    Par jerem3000 dans le forum Débuter
    Réponses: 3
    Dernier message: 30/10/2012, 13h51
  3. Réponses: 7
    Dernier message: 23/01/2007, 11h08
  4. probleme Avec Set ?
    Par mehdi_swatch dans le forum Langage
    Réponses: 6
    Dernier message: 29/05/2006, 16h59
  5. [VB6]Property Get/Set avec groupe de contrôles
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 24/01/2006, 12h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo