Ранее я задавал вопрос Как сохранить / восстановить сериализуемый объект в / из файла? это решение прекрасно работает, когда я знаю, какой тип объекта я буду сохранять.
Было бы хорошо, если бы я мог сохранить объект неизвестного типа.
В любом случае, я хочу сделать что-то вроде:
[Serializable]
MyCustomClass
{
// properties. I don't know which properties this class has. I might pass a different class.
}
public void saveObjectInComputer(object obj, string pathWhereToSaveObject)
{
// code
}
public object deserializeObject(string pathWhereObjectIsLocated)
{
// code to retrive object
// ...
return object;
}
static void Main(string[] args)
{
List<MyCustomClass> myList = new List<MyCustomClass>();
myList.add(new MyCustomClass { "properties go here" } );
saveObjectInComputer(myList, @"C:\Temp\object.txt");
// code
// Later it will be nice if I could retrive the object
object a = deserializeObject(@"C:\Temp\object.txt");
// then cast a to List<MyCustomClass>
}
И позже, если я создамСписок автомобилей или список людей Я мог бы использовать тот же метод вместо создания нового метода для каждого.Более того, позже я знаю, что метод, который я ищу, вернет объект, и я мог бы привести этот объект к типу, с которым я сейчас работаю.