我按照这个网站的建议做了以下方法:
public static T? GetElementValue<T>(this XElement xElement, string s)
where T : struct, IComparable
{
var result = new Nullable<T>();
try
{
if (string.IsNullOrEmpty(s) || s.Trim().Length > 0 || xElement.IsEmpty)
return result;
var element = xElement.Element(s);
if (element == null || element.IsEmpty)
return result;
var conv = TypeDescriptor.GetConverter(typeof(T));
result = (T)conv.ConvertFrom(element.Value);
}
catch (Exception ex)
{
ex.Message.WriteAsError();
}
return result;
}
但是当我尝试将它与 a 一起使用时,string
我仍然收到以下错误:类型“字符串”必须是不可为空的值类型才能将其用作泛型类型或方法中的参数“T”
有人可以告诉我为什么吗?谢谢