2012-03-30 8 views
0

Ich bin ein Neuling, könnte mir bitte jemand helfen, welcher Typ ist der "Teile", ich bin nicht in der Lage, den richtigen Typ zu finden und kann daher das Objekt "Teile" nicht zurückgeben. DankC# mit Linq XML

private ???? load_parts() 
{ 
    var element = XElement.Load("xml/suras.xml"); 
    **var** Parts= from var in element.Descendants("part") 
       orderby var.Attribute("index").Value 
       select new dictSuras 
       { 
        PartIndex = Convert.ToInt32(var.Attribute("index").Value), 
        PartPosition = Convert.ToInt32(var.Attribute("position").Value), 
        PartName = var.Attribute("name").Value 
       }; 

    return Parts; 
} 
+0

Sie können auch die expliziten Casting-Operatoren 'XAttribute' verwenden. Zum Beispiel wird dabei die Zeile für 'PartIndex':' PartIndex = (int) var.Attribute ("index"), was nicht nur weniger Code ist, sondern der Code, der weg ist, war lauter Zeremonial-Code, was ist links ist IMO fleischig. – devgeezer

Antwort

5

Da Sie eine new dictSuras Auswahl, ist der Rückgabewert ein IEnumerable<dictSuras>.

+0

Vielen Dank, es (IEnumerable ) funktioniert! :) – wafers

+0

@saafh, ein Wort des Rates: Ich empfehle Ihnen, ReSharper. Es ist großartig für solche Dinge. Mit einem einzigen Tastendruck können Sie Ihre 'var' Deklaration in den" echten "Typ konvertieren (in diesem Fall' IEnumerable '. Ich finde es ein riesiger Segen, und es ist äußerst beliebt. –

3

Anstatt eine Antwort, die die Informationen gibt, die das OP sucht, werde ich eine Antwort geben, die zeigt, wie man es findet. Es ist einfacher für uns alle, denke ich.

Wenn Sie in Visual Studio mit der Maus über eine Variable fahren, wird eine QuickInfo angezeigt, die den Typ der Variablen enthält. Dies ist sehr nützlich, wenn Sie wie ich sind und nicht mögen var, wie Sie auf einen Blick sehen, was der tatsächliche Typ ist.

+0

+1, aber es ist nützlich, wenn Leute bin nicht wie du und * tu * wie 'var' auch! –

+0

In der Tat ein sehr nützlicher Tipp! Ich habe C# + wp7 Programmierung erst seit gestern programmiert :) – wafers