-4
我需要使该类尽可能通用......我想传递一个XML字符串Path并返回传递给getDataFromFile()方法的对象类型的数据。 这是我迄今为止所取得:通用方法中的Casting类型
public class XmlFile
{
public string mXmlFilePath { get; set; }
public XmlFile(string xmlFilePath)
{
this.mXmlFilePath = xmlFilePath;
}
public object getDataFromFile(object dataObject)
{
LogFile.addLogEntry("Getting data from XML file.");
object data = null;
Type type = dataObject.GetType();
try
{
StreamReader xmlStream = new StreamReader(this.mXmlFilePath);
XmlSerializer xmlfile = new XmlSerializer(type);
data = (type)xmlfile.Deserialize(xmlStream);
xmlStream.Close();
return data;
}
catch (Exception ex)
{
LogFile.addLogEntry("Error reading data from XML file: " + ex.Message);
return null;
}
}
}
我知道我应该使用反射,但我无法使这个投data = (type)xmlfile.Deserialize(xmlStream);
谢谢...
这并没有让所有的感觉?如果您投与否,该方法仍会返回一个“对象”。而且该方法不是通用的。你想要存档什么? –
你应该使用泛型https://msdn.microsoft.com/en-us/library/twcad0zb.aspx – fantastik78