Estou analisando um arquivo XML com a XmlReaderclasse em .NET e pensei que seria inteligente escrever uma função de análise genérica para ler diferentes atributos genericamente. Eu criei a seguinte função:
private static T ReadData<T>(XmlReader reader, string value)
{
reader.MoveToAttribute(value);
object readData = reader.ReadContentAsObject();
return (T)readData;
}
Como pude perceber, isso não funciona inteiramente como planejei; ele lança um erro com tipos primitivos como intou double, uma vez que uma conversão não pode ser convertida de um stringpara um tipo numérico. Existe alguma maneira de minha função prevalecer na forma modificada?