2009-12-15 4 views
2
select new FeedResource 
{ 
    Title = (string)details.Element("title"), 
    Host = (string)details.Element("link"), 
    Description = (string)details.Element("description"), 
    PublishedOn = (DateTime?)details.Element("pubDate"), 
    Generator = (string)details.Element("generator"), 
    Language = (string)details.Element("language") 
} 

Dans le code ci-dessus que je veux transmettre la valeur de coulée de type à une autre fonction, Exemplecomment ajouter la fonction à l'intérieur requête de sélection

Description = getValidDescription((string) details.Element("description")) 

mais je ne suis pas en mesure de réaliser, les entrées?

Note: Le casting de type est nécessaire pour gérer les valeurs NULL (qui est dans le cas où aucune valeur présente pour « description » il (XElement) gère null parfaitement

+1

Quelle est l'erreur – itowlson

+0

essayer d'écrire la méthode getValidDescription (string), tout semble OK – LorenVS

+0

Comme itowlson demandé, quelle est l'erreur car il ne devrait pas être un problème avec l'appel une autre méthode la manière Vous devriez peut-être aussi inclure votre méthode getValidDescription (ou à tout le moins la ignorer). Aidez-nous à vous aider ... – Kamal

Répondre

0

fonctionne bien pour moi, quel est le message d'erreur.? exemple:.

// doesn't have to be static - just simpler for my test 
static string getValidDescription(string description) 
{ 
    // handle nulls safely (could return a default here) 
    if (description == null) return null; 
    // for example only... 
    return CultureInfo.CurrentCulture.TextInfo 
     .ToTitleCase(description); 
} 

var qry = 
    from details in doc.Root.Elements("detail") 
    select new FeedResource 
    { 
     Title = (string)details.Element("title"), 
     Host = (string)details.Element("link"), 
     Description = getValidDescription((string) details.Element("description")), 
     PublishedOn = (DateTime?)details.Element("pubDate"), 
     Generator = (string)details.Element("generator"), 
     Language = (string)details.Element("language") 
    }; 
Questions connexes