我正在使用.NET中的XmlReader
类解析XML文件,我认为编写一个通用的解析函数来通用地读取不同属性是明智的。我想到了以下的函数:
private static T ReadData<T>(XmlReader reader, string value)
{
reader.MoveToAttribute(value);
object readData = reader.ReadContentAsObject();
return (T)readData;
}
我发现,这并不完全按照我的计划工作;它在原始类型(如int
或double
)中会抛出错误,因为强制转换不能将string
转换为数字类型。有没有办法让我的函数以修改后的形式成功运行?