我正在使用Portable Class Libraries编写ConfigManager类。 PCL支持 StreamReader
和 StreamWriter
我想要使用的类,但这些类的PCL版本不支持在构造期间传入字符串。 PCL也不支持 reader.Close()
和 writer.Close()
。最后它不支持 FileStream
类。
所以我正在寻找以下任何一个问题的答案:
- 我怎么能得到
StreamReader
和 StreamWriter
上课
在PCL?
- 我怎样才能创建一个新的
stream
使用PCL?
- 我还有什么其他的替代品可以在PCL中加载和保存文件?
使用 Dispose()
代替 Close()
(或者只是在using语句中包装所有内容)。我们隐藏/删除了 Close()
在Windows应用商店应用和较新的PCL中,因为它做同样的事情,人们会对哪个呼叫感到困惑。
考虑使用 PCL存储 用于跨平台文件系统访问。
以下是您可能想要参考的一些博客文章,了解如何在PCL中处理特定于平台的功能:
在这里找到了答案(Rob Caplan): http://social.msdn.microsoft.com/Forums/windowsapps/en-US/386eb3b2-e98e-4bbc-985f-fc143db6ee36/read-local-file-in-portable-library#386eb3b2-e98e-4bbc-985f- fc143db6ee36
无法在Windows应用商店应用之间进行文件访问
Windows Phone 8应用程序。您必须使用特定于平台的代码
打开文件并获取流。然后,您可以将流传递给
PCL。
由于Windows应用商店应用和Windows Phone 8应用都使用
基本上是相同的Windows(Phone)运行时类
Windows.Storage打开文件,你可以共享代码(但不是
二进制)通过链接两个项目之间的代码文件。见分享
添加为链接的代码。
有关详细信息,请参阅最大化Windows Phone 8和Windows 8之间的代码重用
共享代码的技术。
如果有人有这个以外的解决方案我会有兴趣听到它;也想知道 .Close()
PCL中的方法。