Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

[C#] Webdienst Probleme mit eigenen Objekttypen

Forum für alles rund ums Coden und web.design - HTML, XHTML, XML, CSS, PHP, ASP, Zugriffsrechten, Mods uvm.
Antworten
Herr von zoW
Uriel
Uriel
Beiträge: 2876
Registriert: Jul 2010
Steam: FloWzoW
Kontaktdaten:

[C#] Webdienst Probleme mit eigenen Objekttypen

Beitrag von Herr von zoW »

Moin Moin,
ich weiß gerade nicht weiter und hoffe auf eure Hilfe.

Ich habe eine Projektmappe mit 3 Projekten: 1 Konsolenanwendung, 1 Klassenbibliothek und 1 Webservice. Der Webservice und die Konsolenanwendung haben beide Verweise auf die Klassenbibliothek.

Ich habe einen Dienstverweis im Konsolenprogramm auf den Webservice erstellt. Der funzt auch und zeigt mir brav alle Methoden vom Webservice an.

Der Webservice gibt bei Aufruf von Autosabrufen() eine List<Auto> (Das ist ein Objekt aus der Bibliothek) an das Konsolenprogramm.

Eigendlich sollte es ja so funktionieren, der Webservice soll mir die Liste einfach füllen:

Code: Alles auswählen

Webservice.FahrtenbuchWebserviceSoapClient client = new Webservice.FahrtenbuchWebserviceSoapClient();

List<Auto> Autoliste = client.Autosabrufen();
Jedoch sagt mir Visual Studio 2010 immer folgende Fehlermeldung:

Code: Alles auswählen

Eine implizite Konvertierung vom Typ "System.Collections.Generic.List<Konsolenprogramm.Webservice.Auto>" in "System.Collections.Generic.List<Objekte.Auto>" ist nicht möglich.	
Wie bringe ich Visual Studio bei das beide die gleichen Typen sind?
Ist doch bestimmt nur ne Kleinigkeit die irgendwo fehlt.
Ich hoffe ihr versteht das Problem :confused:

Hier ist jetzt meine dreckige WTF-Lösung, funzt erstmal :ugly: aber das kanns ja nicht sein

Code: Alles auswählen

static void Main(string[] args)
        {

            Webservice.FahrtenbuchWebserviceSoapClient client = new Webservice.FahrtenbuchWebserviceSoapClient();

            List<FahrtenbuchKonsole.Webservice.Auto> AutolistevomService = new List<FahrtenbuchKonsole.Webservice.Auto>();

            // VS erkennt nicht das es sich um das gleiche Objekt handelt, Dreckige WTF-Lösung
            AutolistevomService = client.AutosAbrufen();
            List<Auto> Autoliste = new List<Auto>();

            foreach (Webservice.Auto Serviceauto in AutolistevomService)
            {
                Auto autofuerautoliste = new Auto();
                autofuerautoliste.AktuellerKmStand = Serviceauto.AktuellerKmStand;
                autofuerautoliste.ID = Serviceauto.ID;
                autofuerautoliste.Marke = Serviceauto.Marke;
                autofuerautoliste.Modell = Serviceauto.Modell;
                Autoliste.Add(autofuerautoliste);
            }

            foreach (Auto auto in Autoliste)
            {
                Console.WriteLine(auto.ToString());
            }
            Console.ReadLine();
        }

Nomschta
Rampage
Rampage
Beiträge: 14303
Registriert: Jun 2001
Steam: TomHonks

Beitrag von Nomschta »

verwende mal den kompletten namespace anstatt die using direktive für deine "klassenbibliothek"

alternativ einfach casten (am besten auch mit dem kompletten namespace). ist zwar auch hässlich aber mir fällt ansonsten auch nix ein.
BildBild Danke an Drasora für ihr Wichtelgeschenk!
MAR hat geschrieben:Führt der durch den Terrence-Hill? :ugly:
fame
Combo
Combo
Beiträge: 13805
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Hätte auch gesagt einfach explizit casten.

Und WTF @Fehlermeldungen auf Deutsch. Da versteht man doch in 99,9% der Fälle kein Wort :ubla:
Antworten