3

我正在使用 IsolatedStorage 来持久化对象,但有时我需要手动清除该目录中的文件。在持久化文件时,我想将目录的物理位置写入控制台。不过,似乎没有可访问的属性返回此信息。我该怎么做?

这是我不完整的代码:

using (var store = IsolatedStorageFile.GetMachineStoreForAssembly())
{
   Console.WriteLine("Persisting Hotel to {0}", store.<<INSERT APPROPRIATE PROPERTY>>);
}
4

2 回答 2

3

好吧,我还没有尝试过,但我确实找到了一个链接(不容易找到),据说它显示了如何做到这一点:http: //msmvps.com/blogs/angelhernandez/archive/2008/10/04 /retrieving-file-path-from-isolatedstorage.aspx

基本上,关键的代码行似乎是:

fileName = isoStore.GetType.GetField("m_RootDir",Reflection.BindingFlags.NonPublic or Reflection.BindingFlags.Instance).GetValue(isoStore).ToString

我不确定是否必须设置任何特殊权限才能使其正常工作。

好的,还发现了一个相关的stackoverflow:我可以获取一个独立存储文件的路径并从外部应用程序中读取它吗?

于 2010-08-06T00:15:13.667 回答
0

尝试这个:

using System.IO.IsolatedStorage;
using System.Reflection;

var store = IsolatedStorageFile.GetMachineStoreForAssembly();
var pathName = store.GetType().GetField("m_RootDir", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(store).ToString();
于 2017-06-16T15:56:29.997 回答