是否有一种更简单的方法可以在LinqToSql中将属性解析为Int(或任何其他原语)

时间:2010-02-14 21:11:28

标签: c# .net xml linq

我基本上想知道是否可以优化此代码:

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

理想情况下,我想写一些类似

的内容
AmountComments = r.Attribute("AmountComments")

r 将是XElement类型的xml标记,该标记在Linq查询之前被选中。

1 个答案:

答案 0 :(得分:6)

考虑为.Attribute()

类型编写扩展方法

您想要的每种类型的一种扩展方法。这样你就可以:

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


public static class LinqUtils
{
    public static int Int32(this XAttribute attribute)
    {
        return System.Int32.Parse(attribute.Value);
    }
}