Windows 8 アプリ用に C# でオブジェクトをシリアル化および逆シリアル化しています。
オブジェクトを渡すと例外がスローされるため、オブジェクトを次のビューに渡す前にシリアル化しています。
関数 OnNavigatedTo:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string XMLString = e.Parameter.ToString();
var thisChannel = XmlDeserializeFromString(XMLString, typeof(Channel));
....}
逆シリアル化機能:
public static Channel XmlDeserializeFromString<Channel>(string objectData)
{
return (Channel)XmlDeserializeFromString(objectData, typeof(Channel));
}
public static object XmlDeserializeFromString(string objectData, Type type)
{
var serializer = new XmlSerializer(type);
object result;
using (TextReader reader = new StringReader(objectData))
{
result = serializer.Deserialize(reader);
}
return result;
}
このオブジェクトのデータにアクセスしたいのですが、thisChannel.Name のようなものが機能しません。そして、このオブジェクトで作業を続ける方法がわかりません。