When using XML serialization in C#, I use code like this:
public MyObject LoadData() { XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyObject));
Make your serialization class/method generic:
public T LoadData() { XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); using (TextReader reader = new StreamReader(settingsFileName)) { return (T)xmlSerializer.Deserialize(reader); } }