AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) C# [C#] IEnumerable.ToList<>() geht nicht
Thema durchsuchen
Ansicht
Themen-Optionen

[C#] IEnumerable.ToList<>() geht nicht

Ein Thema von jfheins · begonnen am 9. Okt 2009 · letzter Beitrag vom 9. Okt 2009
Antwort Antwort
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#1

[C#] IEnumerable.ToList<>() geht nicht

  Alt 9. Okt 2009, 12:54
Hallo

Folgendes Compiliert:
Code:
            Parts = new Dictionary<int, xmlPart>();
            parts_combobox.DataSource = Parts.Values.ToList<xmlPart>();
das gleiche an einer anderen Stelle aber nicht mehr:
Code:
public Dictionary<int, GraphNode> Nodes { get; private set; }
       
        // TODO: löschen. (Nur für Demozwecke)
        public List<GraphNode> NodeList
        {
            get
            {
                return Nodes.Values.ToList<GraphNode>();
            }
        }
Zitat:
Fehler 1 "System.Collections.Generic.Dictionary<int,iwb_cla sses.GraphNode>.ValueCollection" enthält keine Definition für "ToList", und es konnte keine Erweiterungsmethode "ToList" gefunden werden, die ein erstes Argument vom Typ "System.Collections.Generic.Dictionary<int,iwb_cla sses.GraphNode>.ValueCollection" akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?) Y:\iwb_classes\iwb_classes\workplan.cs 21 37 iwb_classes
Warum?
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: [C#] IEnumerable.ToList<>() geht nicht

  Alt 9. Okt 2009, 13:13
Code:
using System.Linq;
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: [C#] IEnumerable.ToList<>() geht nicht

  Alt 9. Okt 2009, 13:20
Und entsprechend auch System.Core einbinden, wenn das nicht bereits (oder standardmäßig) geschehen ist
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: [C#] IEnumerable.ToList<>() geht nicht

  Alt 9. Okt 2009, 15:22
Zitat von Reinhardtinho:
Code:
using System.Linq;
Danke, hat geklappt

@Dax: System.Core hat er nicht gefunden ...
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#5

Re: [C#] IEnumerable.ToList<>() geht nicht

  Alt 9. Okt 2009, 17:25
Nebenbei, kann man das Typ-Argument bei Enumerable.ToList<T>() nicht weglassen? Das sollte der Compiler eigentlich herleiten können. Vermeidet unnötige Wiederholungen und erleichtert eine Änderung des Typs.

Aber das hat natürlich nichts mit der Frage zu tun
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#6

Re: [C#] IEnumerable.ToList<>() geht nicht

  Alt 9. Okt 2009, 17:31
heinz: Dann hast du ein Problem. Versuche mal, das Framework erneut zu installieren, oder die Assembly mit vollem Pfad anzugeben, oder die Konfigurataion zu ändern. Vielleicht wird die Assembly nicht gefunden, weil du kein 3.5-Profile benutzt.

Oregon: doch, kann man. Der Compiler macht aus a.ToList() ein Enumerable.ToList(a), und damit kann die Typinferenzengine wieder arbeiten. In der Regel braucht man für Enumerable.* keine generischen Parameter, das wird alles inferiert.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#7

Re: [C#] IEnumerable.ToList<>() geht nicht

  Alt 9. Okt 2009, 18:08
Zitat von Dax:
heinz: Dann hast du ein Problem. Versuche mal, das Framework erneut zu installieren, oder die Assembly mit vollem Pfad anzugeben, oder die Konfigurataion zu ändern. Vielleicht wird die Assembly nicht gefunden, weil du kein 3.5-Profile benutzt.
Wieso? Es funktioniert doch alles perfekt?

Wenn ich "using System.Core;" dazuschreibe, sagt er
Zitat:
Fehler 1 Der Typ- oder Namespacename "Core" ist im Namespace "System" nicht vorhanden. (Fehlt ein Assemblyverweis?) C:\...\Documents\Visual Studio 2008\Projects\...\Form1.cs 10 14 iwb_example
Ach ja - Rechts im Projektmappen-Explorer unter verweise ist System.Core aufgeführt
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: [C#] IEnumerable.ToList<>() geht nicht

  Alt 9. Okt 2009, 18:10
Zitat von jfheins:
System.Core hat er nicht gefunden ...
Dax meinte die System.Core.dll, denn es hieß ja :
Zitat:
Fehlt eine Using-Direktive oder ein Assemblyverweis?
System.Linq.Enumerable in System.Core

Edit: Böh, Editierer .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz