Есть ли более короткий способ разбирать атрибуты как Int (или любой другой примитив) в LinqToSql - PullRequest
1 голос
/ 15 февраля 2010

Мне было интересно, можно ли оптимизировать этот код:

AmountComments = Int32.Parse(r.Attribute("AmountComments").Value)

В идеале я хотел бы написать что-то вроде

AmountComments = r.Attribute("AmountComments")

r будет тегом xml типа XElement, который был выбран ранее в запросе Linq.

1 Ответ

6 голосов
/ 15 февраля 2010

Рассмотрите возможность написания метода (ов) расширения для типа .Attribute()

Один метод расширения для каждого типа, который вы хотите использовать. Таким образом, вы просто сможете:

AmountComments = r.Attribute("AmountComments").ToInt32();


public static class LinqUtils
{
    public static int Int32(this XAttribute attribute)
    {
        return System.Int32.Parse(attribute.Value);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...