как добавить функцию внутри запроса выбора - PullRequest
2 голосов
/ 15 декабря 2009
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")
}

В приведенном выше коде я хочу передать приведение типа в другую функцию, Пример

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

но я не могу достичь, любые входные данные?

Примечание: приведение типа требуется для обработки нулевых значений (то есть в случае отсутствия значения для «описания» он (XElement) отлично обрабатывает нулевое значение.

1 Ответ

0 голосов
/ 15 декабря 2009

работает нормально для меня; что такое сообщение об ошибке? Пример:

// 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")
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...