Я читаю объект из изолированного хранилища со следующим кодом:
public static T Load<T>(string name) where T : class, new()
{
T loadedObject = null;
using (IsolatedStorageFile storageFile = IsolatedStorageFile.GetUserStoreForApplication())
using (IsolatedStorageFileStream storageFileStream = new IsolatedStorageFileStream(name, System.IO.FileMode.OpenOrCreate, storageFile))
{
if (storageFileStream.Length > 0)
{
DataContractSerializer serializer = new DataContractSerializer(typeof(T));
loadedObject = serializer.ReadObject(storageFileStream) as T; //####Error Here####
}
if (loadedObject == null)
{
loadedObject = new T();
}
}
При чтении моего объекта я получаю исключение SecurityException, которое читает
«Тип» Microsoft.Xna.Framework.Media.Song 'нельзя десериализовать при частичном доверии, поскольку у него нет общедоступного конструктора без параметров. "
Мой читаемый класс объекта содержит свойство Song, которое вызывает вышеуказанную ошибку.
Есть ли способ обойти это?Я хотел бы, чтобы мое свойство Song сохранялось вместе с моим объектом.Любой совет будет принята с благодарностью!Спасибо!