Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1218 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [RESOLU] Mettre un Objet comme attribut d'un autre Objet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Mettre un Objet comme attribut d'un autre Objet

n°1393939
Jinroh
Posté le 23-06-2006 à 19:38:05  profilanswer
 

Bonjour, j'ai encore besoin d'une petite aide en c#  :whistle:  
J'ai une classe cBareme et j'aimerai lui donner comme attribut un cModeCalcu qui contient 2 attibut iTypeAssiette et fTva.
Le problème est que je n'arrive pas à attribuer des valeurs aux attribut de cModeCalcul.
Un peu de code pour expliquer  :D  
 
Mon cBareme :  

Code :
  1. public cModeCalcul ModeCalcul
  2. {
  3.    get{ return new cModeCalcul(); }
  4.    set{ ??????????????? }
  5. }


et mon cModeCalcul

Code :
  1. public class cModeCalcul
  2. {
  3.    private int iTypeAssiette;
  4.    private float fTva;
  5. }
  6. public int ipTypeAssiette
  7. {
  8.     get { return iTypeAssiette; }
  9.     set { iTypeAssiette = value; }
  10. }
  11. public float fpTva
  12. {
  13.     get { return fTva; }
  14.     set { fTva = value; }
  15. }


 
et j'aimerais faire des choses du genre :  

Code :
  1. cBareme bareme = new cBareme();
  2. bareme.cModeCalcul.fpTva = fTva;
  3. bareme.cModeCalcul.ipTypeAssiette = iIdTas;


 
Merci pour votre aide.


Message édité par Jinroh le 27-06-2006 à 14:26:14

---------------
Galerie photos
mood
Publicité
Posté le 23-06-2006 à 19:38:05  profilanswer
 

n°1394110
cesarr89
Posté le 24-06-2006 à 12:40:32  profilanswer
 

Bah Y'a aucun soucis, ta propriéte pour l'attribut cModeCalcul dans cBareme retourne tout simplement son attribut cModeCalcul, non ? Montre le code de ta classe cBareme

n°1394371
Jinroh
Posté le 25-06-2006 à 11:20:11  profilanswer
 

Le problème est que ça me renvoi un cModeCalcul vide et que je ne peux pas faire de set dessus :(


---------------
Galerie photos
n°1394406
cesarr89
Posté le 25-06-2006 à 13:22:04  profilanswer
 

Le code de la classe cBareme stp ...
Le cModeCalcul vide c'est peut être que tu as oublié une étape dans le constructeur de de cBareme.
Quelle est la visibilité du cModeCalcul dans cBareme?

n°1394765
Jinroh
Posté le 26-06-2006 à 09:34:00  profilanswer
 

Voila pour mon barème

Code :
  1. class cBareme
  2. {
  3.      private int iId;
  4.      private string sIntitule;
  5.      private int iBranche;
  6.      public cModeCalcul ModeCalcul
  7.         {
  8.             get{ return new cModeCalcul(); }
  9.             set  { ????? }
  10.         }
  11. et une méthode :
  12. public void RemplitBaremeById(int iIdBareme)
  13.         {
  14.             this.ipId = iIdBareme;
  15.             this.spIntitule = GetIntitule();
  16.            
  17.             clRequete Requete = new clRequete("Select * from XC_TC where ID_CGP = " + this.ipId);
  18.             SqlDataReader reader = Requete.QueryRequete();
  19.             int iIdTas, iIdTcal, iIdTc;
  20.             float fTva;
  21.             GetTasTcalTvaTc(reader, out iIdTas, out iIdTcal, out iIdTc, out fTva);
  22.             this.ipBranche = GetBrancheRef();
  23.             this.ipIdTc = iIdTc;
  24.             this.fpMinAppel = GetMinAppel();
  25.             this.fpMaxAppel = GetMaxAppel();
  26.             this.ModeCalcul.fpTva = fTva;
  27.             this.ModeCalcul.ipTypeAssiette = iIdTas;
  28.             this.ModeCalcul.cTypeCalcul.ipIdTypeCalcul = iIdTcal;
  29.             reader.Close();


 
Ce qui est bizarre est que pendant cette ligne : this.ModeCalcul.fpTva = fTva; il va chercher dans le  

Code :
  1. public cModeCalcul ModeCalcul
  2.         {
  3.             get{ return new cModeCalcul(); }


et non dans le set{ }
 
Merci pour ton aide


---------------
Galerie photos
n°1395636
alien_nan
Posté le 27-06-2006 à 12:07:58  profilanswer
 

Jinroh a écrit :

Voila pour mon barème

 


 


Ce qui est bizarre est que pendant cette ligne : this.ModeCalcul.fpTva = fTva; il va chercher dans le

 


Code :
  1. public cModeCalcul ModeCalcul
  2. {
  3. get{ return new cModeCalcul(); }

 

et non dans le set{ }

 

Merci pour ton aide

 

------------------------FIN DU QUOTE                           --------------------
------------------------AU SECOURS LES QUOTES §§§§§§ -----------

 

c'est normal.
qd tu fais un this.ModCalcul, tu lui dis d'aller chercher cet objet, et "ensuite" de fixer la proprieté, donc il passe par l'accesseur (vu que ton objet n'est pas instancié)

 

tu devrais faire :
MonModCalcul = new ModeCalcul();
pubcModeCalcul = MonModCalcul

 

avec les modifs suivantes :

 


Code :
  1. private ModeCalcul _cModeCalcul ;
  2. public pubcModeCalcul ModeCalcul
  3. {
  4. get{ return _cModeCalcul;}
 

set { _cModeCalcul = value }

 

}

 

...

  

Ensuite, dans ta classe, tu travailleras avec pubcModeCalcul.fpa....

 

Si tu mets un new dans ton get, tu vas toujours créer des objets.
J'espere être compréhensible

Message cité 1 fois
Message édité par alien_nan le 27-06-2006 à 12:09:16
n°1395718
Jinroh
Posté le 27-06-2006 à 14:25:50  profilanswer
 


Ok parfait !
Je crée d'abord mon ModeCalcul, je lui donne tout ce que je veux et après je le redonne à mon bareme.
Ca fonctionne parfaitement.
 
Merci  :jap:


---------------
Galerie photos

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [RESOLU] Mettre un Objet comme attribut d'un autre Objet

 

Sujets relatifs
Mettre un fichier en download[Résolu]Alignement CSS
[RESOLU très vite]Question simple sur les méthodes[RESOLU] [Shell] question de laisse
Reformater le contenu d'un fichier txt en html [RESOLU][C#/Flash/ RESOLU] Soucis de cache IE avec donnees externes a charger
[xsl][Résolu] problème de if[resolu]Remplir une listbox avec bdd access
[RESOLU]erreur de syntaxprocedure trop longue résolu
Plus de sujets relatifs à : [RESOLU] Mettre un Objet comme attribut d'un autre Objet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR