有没有办法异步序列化类?我问是因为我的程序何时尝试这样做:
public static async void Serialize(List<Zajecia> xml_List)
{
using (var stream = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync("Plan list.xml", CreationCollisionOption.ReplaceExisting))
{
XmlSerializer serializer = new XmlSerializer(typeof(List<Zajecia>));
using (XmlWriter xmlWriter = XmlWriter.Create(stream, new XmlWriterSettings() { Indent = true }))
{
serializer.Serialize(xmlWriter, xml_List);
}
}
}
班级:
public class Zajecia
{
public string c { get; set; }
public string p { get; set; }
public Zajecia ()
{}
public Zajecia(string C, string P)
{
c = C;
p = P;
}
}
我的异步序列化用于导航功能:
protected override async Task OnNavigatedTo(NavigationEventArgs e)
{
string t = e.Parameter as string;
if (!string.IsNullOrEmpty(t))
{
string[] _p = new string[10];
_p = t.Split('^');
_lista.Add(new Zajecia(t,( _p[3]+"("+_p[5]+")")));
Dodaj_zajecia(_p);
await Serialize(_lista);
}
else
base.OnNavigatedTo(e);
}
我只得到这个错误而不是任何东西的序列化:
System.Runtime.InteropServices.WindowsRuntime.RuntimeClass 由于其保护级别而无法访问。只能处理公共类型。
我的程序中的所有内容都是公开的,但仍然无济于事。任何想法如何使它工作?