ฉันกำลังแยกวิเคราะห์ไฟล์ XML กับXmlReader
คลาสใน. NET และฉันคิดว่าการเขียนฟังก์ชันการแยกวิเคราะห์ทั่วไปเพื่ออ่านแอตทริบิวต์ต่างๆโดยทั่วไปจะเป็นการดี ฉันมาพร้อมกับฟังก์ชั่นต่อไปนี้:
private static T ReadData<T>(XmlReader reader, string value)
{
reader.MoveToAttribute(value);
object readData = reader.ReadContentAsObject();
return (T)readData;
}
เมื่อฉันตระหนักได้ว่าสิ่งนี้ไม่ได้ผลทั้งหมดตามที่ฉันวางแผนไว้ มันแสดงข้อผิดพลาดกับประเภทดั้งเดิมเช่นint
หรือdouble
เนื่องจากนักแสดงไม่สามารถแปลงจากประเภทstring
เป็นตัวเลขเป็นประเภทตัวเลขได้ มีวิธีใดบ้างที่ฟังก์ชันของฉันจะเหนือกว่าในรูปแบบที่แก้ไข