StreamReader和可移植类库
本文关键字:类库 可移植 StreamReader | 更新日期: 2023-09-27 18:26:50
我正在使用可移植类库编写ConfigManager类。PCL支持我想要使用的StreamReader
和StreamWriter
类,但这些类的PCL版本不支持在构造过程中传入字符串。PCL也不支持reader.Close()
和writer.Close()
。最后,它不支持FileStream
类。
因此,我正在寻找以下任何一个问题的答案:
- 如何使
StreamReader
和StreamWriter
类工作在PCL中 - 如何使用PCL创建新的
stream
- 在PCL中加载和保存文件还有哪些其他选项
使用Dispose()
而不是Close()
(或者将所有内容都封装在using语句中)。我们已经在Windows应用商店应用程序和更新的PCL中隐藏/删除了Close()
,因为它做同样的事情,人们会对该调用哪个感到困惑。
考虑使用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.Storage打开的文件可以共享代码(但不能共享二进制),通过在两个项目之间链接代码文件。请参阅共享使用"添加为链接"进行编码。
有关详细信息,请参阅在Windows Phone 8和Windows 8之间最大限度地重用代码共享代码的技术。
如果有人有其他的解决方案,我很想听听;还想知道PCL中的CCD_ 12方法。