2
您好,我無法使用我自己的類結構將此代碼實現到Windows Phone的Visual Basic中。我希望能夠保存我的對象的實例並從文件中檢索它們。一旦我找出寫作,閱讀應該是相同的。我從這個教程此代碼:Serialize Tutorial如何使用JSON序列化器序列化和反序列化MyClass?
private const string JSONFILENAME = "data.json";
private async Task writeJsonAsync()
{
// Notice that the write is ALMOST identical ... except for the serializer.
var myCars = buildObjectGraph();
var serializer = new DataContractJsonSerializer(typeof(List<Car>));
using (var stream = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(
JSONFILENAME,
CreationCollisionOption.ReplaceExisting))
{
serializer.WriteObject(stream, myCars);
}
resultTextBlock.Text = "Write succeeded";
}
我的階級結構是這樣
MyClass1 inherits MyClass2
MyClass2 inherits MyClass3
MyClass4
這是多遠,我已經得到了
Dim test as MyClass4 = new MyClass4
Dim serializer as New DataContractJsonSeializer(MyClass4)
Dim stream as System.IO.Stream = Await ApplicationData.Current.localfolder.OpenStreamForWriteAsync(dir,CreationCollisionOption.ReplaceExisting)
的問題是,我可以不初始化串行器,因爲MyClass4
是一個Type,不能用作表達式。但該參數是要求System.Type我很困惑。請幫忙。
Dim serializer as New DataContractJsonSeializer(MyClass4) //gives me an error here
我不是一個VB的傢伙,但是這可能會解決你的問題 '昏暗的串行器=新DataContractJsonSerializer(的GetType(MyClass4 ))'。 – nkchandra 2014-09-02 19:26:59
謝謝你的工作。 – Zocoloni 2016-11-16 18:11:50
@ Zocoloni:考慮接受他的答案,因爲它的工作。 – mrsrinivas 2016-11-22 14:17:34