一般化したい方法があります。以下のように、任意のオブジェクトタイプに対して次の Deserialize 関数を使用したい:
ExportDefinition _expDefinition = new ExportDefinition("a.ini");
DeliveryDefinition _delDefinition = new DeliveryDefinition("b.ini");
ExportDefinition expDef = Deserialize(_expDefinition);
DeliveryDefinition devDef = Deserialize(_delDefinition);
public SomeType Deserialize(SomeType?? tp) // What should I use instead of SomeType?
{
try
{
FileStream readFileStream = new FileStream(definitionFile, FileMode.Open, FileAccess.Read, FileShare.Read);
XmlSerializer serializerObj = new XmlSerializer(typeof(tp));
tp loadedObj = (tp)serializerObj.Deserialize(readFileStream);
readFileStream.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return loadedObj;
}
これを達成する方法はありますか?