[英]StreamReader and Portable Class Library
我正在使用Portable Class Libraries编写ConfigManager类。 PCL支持我想要使用的StreamReader
和StreamWriter
类,但这些类的PCL版本不支持在构造期间传入字符串。 PCL也不支持reader.Close()
和reader.Close()
writer.Close()
。 最后它不支持FileStream
类。
所以我正在寻找以下任何一个问题的答案:
StreamReader
和StreamWriter
类在PCL中运行? stream
? 使用Dispose()
而不是Close()
(或者只是在using语句中包装所有内容)。 我们在Windows应用商店应用和更新的PCL中隐藏/删除了Close()
,因为它做同样的事情,人们会对哪一个调用感到困惑。
考虑使用PCL Storage进行跨平台文件系统访问。
以下是您可能想要参考的一些博客文章,了解如何在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(电话)运行时类来打开文件,因此您可以通过链接两个项目之间的代码文件来共享代码(而不是二进制文件)。 请参阅使用添加为链接共享代码。
有关共享代码的更多技巧,请参阅最大化Windows Phone 8和Windows 8之间的代码重用。
如果有人有这个以外的解决方案我会有兴趣听到它; 也想知道PCL中的.Close()
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.