Analizuję plik XML z XmlReader
klasą w .NET i pomyślałem, że mądrze byłoby napisać ogólną funkcję analizy, aby generalnie odczytywać różne atrybuty. Wymyśliłem następującą funkcję:
private static T ReadData<T>(XmlReader reader, string value)
{
reader.MoveToAttribute(value);
object readData = reader.ReadContentAsObject();
return (T)readData;
}
Jak sobie uświadomiłem, nie działa to do końca tak, jak planowałem; zgłasza błąd w przypadku typów pierwotnych, takich jak int
lub double
, ponieważ rzutowanie nie może zostać przekonwertowane z typu a string
na typ liczbowy. Czy istnieje sposób, aby moja funkcja przeważała w zmodyfikowanej formie?