【发布时间】:2009-09-06 23:12:48
【问题描述】:
我正在尝试将 XElement 转换为 null 或提供的任何类型的 T。
这是我目前所拥有的:
public static T? ConvertToNullable<T>(this XElement element) where T : IConvertible
{
if (element.IsNill())
return null;
else
return (T)element;
}
错误:
T类型必须是不可为空的值类型,才能将其用作泛型类型或方法System.Nullable<T>中的参数T
可以这样做还是我必须为bool、byte、int、long、double、decimal 等编写单独的扩展?
编辑
我根本不应该为此使用泛型。请参阅下面的答案。
【问题讨论】:
标签: c# generics linq-to-xml extension-methods