StreamReader和可移植类库

本文关键字:类库 可移植 StreamReader | 更新日期: 2023-09-27 18:26:50

我正在使用可移植类库编写ConfigManager类。PCL支持我想要使用的StreamReaderStreamWriter类,但这些类的PCL版本不支持在构造过程中传入字符串。PCL也不支持reader.Close()writer.Close()。最后,它不支持FileStream类。

因此,我正在寻找以下任何一个问题的答案:

  1. 如何使StreamReaderStreamWriter类工作在PCL中
  2. 如何使用PCL创建新的stream
  3. 在PCL中加载和保存文件还有哪些其他选项

StreamReader和可移植类库

使用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方法。