-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