Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WindowsPhone7中的序列化_C#_.net_Json_Serialization_Windows Phone 7.1 - Fatal编程技术网

C# WindowsPhone7中的序列化

C# WindowsPhone7中的序列化,c#,.net,json,serialization,windows-phone-7.1,C#,.net,Json,Serialization,Windows Phone 7.1,我正在用.Net为WindowsPhone7编写一个程序 我有一个零件代码: public void deSerialize() { sr = new StreamReader(new IsolatedStorageFileStream("Data\\myFile.txt", FileMode.Open, myFile)); DataContractJsonSerializer serializer = new DataContractJsonSerial

我正在用.Net为WindowsPhone7编写一个程序

我有一个零件代码:

public void deSerialize()
    {
        sr = new StreamReader(new IsolatedStorageFileStream("Data\\myFile.txt", FileMode.Open, myFile));
        DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(RootObject));
        string text = sr.ReadToEnd();
        Stream strm = File.OpenRead("Data\\myFile.txt");
        menetrend = serializer.ReadObject(strm) as RootObject;
    }
我的问题在这里:

Stream strm=File.OpenRead(“Data\myFile.txt”)


编译器无法看到myFile.txt,我不知道如何解决该问题。

您需要使用IsolatedStorageFileStream。您不能直接读取该文件。

我肯定会研究的是,您似乎试图通过
文件
和使用
隔离存储流
打开太多的流。正如@PhilBolduc所说的,您需要使用
IsolatedStorageStream
。我还想提出一个建议,在访问流时使用
using
语句,以便它们自行处理

    using (var isoFileStream = new IsolatedStorageFileStream(filePath, FileMode.OpenOrCreate, storage))
    {
    }

在我看来,您的代码的第一行已经向您展示了如何打开
…?这是一个错误的代码,这个修订的代码部分:使用(Stream strm=new IsolatedStorageFileStream(“Data\\myFile.txt”,FileMode.OpenOrCreate,myFile))menetrend=serializer.ReadObject(strm)作为RootObject;好的,我理解,我使用这个:使用(Stream strm=new IsolatedStorageFileStream(“Data\\myFile.txt”,FileMode.OpenOrCreate,myFile))menetrend=serializer.ReadObject(strm)作为RootObject;但这并不好,因为应该读取FileMode。我不知道如何使用。谢谢你的回答,代码很好。public void反序列化(){DataContractJsonSerializer serializer=new DataContractJsonSerializer(typeof(RootObject));使用(Stream strm=new IsolatedStorageFileStream(“Data\\myFile.txt”,FileMode.OpenOrCreate,myFile))menetrend=serializer.ReadObject(strm)作为RootObject;}我理解并知道这一点。但是如何编写代码呢?我在这里重新编写了代码:使用(Stream strm=new IsolatedStorageFileStream(“Data\\myFile.txt”,FileMode.OpenOrCreate,myFile))menetrend=serializer.ReadObject(strm)作为RootObject;