Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Unable to cast / cannot convert type [ Windows / Autre ] (Philipina)

mardi 1 avril 2008 à 12:32:24 | Unable to cast / cannot convert type

Philipina

Bonjour,

J'ai un petit problème de casting d'objet.
Dans mon code j'ai 2 definitions d'object ayant la même format.
Les objects aaa et bbb
-------------------------------------
       public partial class aaa
        {

            private string nom;

            private string prenom;

            //GET AND SET
            public string lenom
            {
                get
                {
                    return this.nom;
                }
                set
                {
                    this.nom = value;

                }
            }
            public string leprenom
            {
                get
                {
                    return this.prenom;
                }
                set
                {
                    this.prenom = value;
              
                }  
           
            }
       
        }

        public partial class bbb
        {

            private string nom;

            private string prenom;

            //GET AND SET
            public string lenom
            {
                get
                {
                    return this.nom;
                }
                set
                {
                    this.nom = value;

                }
            }
            public string leprenom
            {
                get
                {
                    return this.prenom;
                }
                set
                {
                    this.prenom = value;

                }

            }

        }
--------------------------------

Je voudrais remplir un object de type aaa et le copier (via un casting) dans un object de type bbb avec le code suivant:
-----------------------------
            aaa testA = new aaa();
            bbb testB = new bbb();

            testA.lenom = "Brika";
            testA.leprenom = "Remi";

            testB = (bbb)testA;
---------------------------

Avec ce code j'obtiens l'erreur "cannot convert type 'aaa' to 'bbb' "
Mes objects réels dans mon code son beaucoup plus grand c'est pourquoi je voudrais éviter de copier tous les parametres 1 par 1 d'un object à un autre.

Pouvez-vous me dire comment serait-il possible de résoudre ce problème?

Merci d'avance pour votre aide.

Alain
-----------------------------



Remi


mardi 1 avril 2008 à 14:06:25 | Re : Unable to cast / cannot convert type

xmox667

Membre Club
Salut,
J'ai une question, pourquoi dans ton code réel tu as des classes dont le contenu est identique mais dont le nom est différent.
Dans ton exemple si la class bbb hérite de la class aaa celà fonctionne.

public class bbb : aaa
{
}

aaa a = new aaa();
a.lenom = "tata";
a.leprenom = "titi";
bbb b = (bbb)a;

Si tu as des classes dont une partie du code est commune tu dois utilisé le mécanisme d'héritage.
Si tu ne peux pas, parce que  les classes hérite déjà d'une autre classe, tu peux faire ceci:

public class bbb
{
    //raccourci syntaxique de visual studio 2008 pour les propriétées
    public string lenom { get; set; }
    public string leprenom { get; set; }
 
     public bbb(aaa a)
    {
        Set(a);      
    }

    public void Set(aaa a)
    {
        lenom = a.lenom;
        leprenom = a.leprenom;
    }

}

aaa a = new aaa();
a.lenom = "tata";
a.leprenom = "titi";
bbb b = new bbb(a);

A+



mardi 1 avril 2008 à 14:07:31 | Re : Unable to cast / cannot convert type

sebmafate

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !

il faut que tu crées une méthode pour le cast explicit :


public static explicit operation bbb(aaa a) {

   bbb b = new bbb();
   b.lenom = a.lenom;
   b.leprenom = a.leprenom;

   return b;

}


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]


mardi 1 avril 2008 à 14:08:03 | Re : Unable to cast / cannot convert type

sebmafate

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
lien sur msdn : [ Lien ]


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

mardi 1 avril 2008 à 14:14:08 | Re : Unable to cast / cannot convert type

Philipina

Merci pour vos réponses.

 


mardi 1 avril 2008 à 14:19:22 | Re : Unable to cast / cannot convert type

sebmafate

Membre Club Administrateur CodeS-SourceS
hum... parfois il faudrait que je relise...

public static explicit operator bbb(aaa a) {

   bbb b = new bbb();
   b.lenom = a.lenom;
   b.leprenom = a.leprenom;

   return b;

}

à mettre dans la classe aaa biensûr !


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]




Cette discussion est classé dans : public, string, prenom, aaa, bbb


Répondre à ce message

Sujets en rapport avec ce message

Héritage, polymorphie et surcharge [ par Kleino ] Slt á ts,je suis nouveau et travaille les heritages, la polymorphie et les surcharges en c#Cependant je suis coincéet récolte cette erreur: Method mus Probleme avec les form [ par xander9711 ] Bonjour, j'ai commencé le c# hier, j'ai lu beaucoup de tuto divers mais n'ayant pas trouvé mon bonheur concernant la partie graphique du c# je vais po Problème lors de la détection de mes Addin-in (System.Addin) [ par teddyalbina ] Bonjour j'ai un soucis avec System.Addin qui ne détecte pas mes addins. Cela fait plusieurs jours que je cherche une solution mais je sèche donc voici dllimport passage de structure en char * [ par toni93330 ] Bonjour,Voila, je sais qu'il y a pas mal de post sur les dllimport en c#, mais je n'ai pas trouvé ce que je cherche (ou mal ?).Alors voila j'ai une dl Question sur le traitement d'une base de données dont les colonnes sont inconnues [ par Finality ] Bonjour (ou bonsoir) tout le monde,Alors voilà, je développe une application et je butte sur un certain point.  Mon application (client / serveur) est envoi /reception de structure [ par flofloduc84 ] bonjours a tous,voila j'ai une structure comme sa:public struct Message{ public string commande; public string x; public string y;}est je Tableau dans une structure [ par kiboumz ] Bonjour,J'aimerais savoir comment faire pour mettre un tableau dans une structureEx:        struct structTest        {            public String[] Cham Pb avec mon programme - help... [ par adrien78 ] Voici les sources de mon programme il bug :// project created on 09/11/2002 at 10:51// By Adrien HADJ SALAH// http://www.informatick.com// Pour me rem tester la connexion d'un pda [ par defcoco ] voila mon probleme, je veux tester la connexion gprs de mon pda.apparemment il faut utiliser les fonction RAS mais je n'ai pas trouvé d'exemple en c# Struct??Comment faire? [ par Fildomen ] Salutj'ai tapé ce bout de code:public struct CBoot{public string Message_provenant_du_serveur = "00000";public string fmConnexion_Demande_de_connexion


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.