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 /retrieveing-file-path-from-isolatedstorage.aspx

基本的に、コードの重要な行は次のようになります。

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

これを機能させるために特別な権限を設定する必要があるかどうかはわかりません。

OK、関連するスタックオーバーフローも見つかりました:IsolatedStorageファイルのパスを取得して外部アプリケーションから読み取ることはできますか?

于 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 に答える