سؤال

أنا أستخدم ClosedStorage لاستمرار الكائنات ، لكن من وقت لآخر ، أحتاج إلى تنظيف الملفات يدويًا من هذا الدليل. مع استمرار الملفات ، أريد أن أكتب الموقع الفعلي للدليل إلى وحدة التحكم. لا يبدو أن هناك خاصية يمكن الوصول إليها تُرجع هذه المعلومات. كيف أفعل ذلك؟

ها هو رمزتي غير المكتملة:

using (var store = IsolatedStorageFile.GetMachineStoreForAssembly())
{
   Console.WriteLine("Persisting Hotel to {0}", store.<<INSERT APPROPRIATE PROPERTY>>);
}
هل كانت مفيدة؟

المحلول

حسنًا ، لم أجرب هذا ، لكنني وجدت رابطًا (لم يكن من السهل العثور عليه) يُظهر أنه يوضح كيفية القيام بذلك: http://msmvps.com/blogs/angelhernandez/archive/2008/10/04/rieving-file-path-from-isolatedstorage.aspx

في الأساس ، يبدو أن سطر الكود الرئيسي هو:

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

لست متأكدًا مما إذا كان يجب ضبط أي أذونات خاصة على هذا العمل.

حسنًا ، وجدت أيضًا stackoverflow ذات الصلة: هل يمكنني الحصول على مسار لملف معزول وقراءته من التطبيقات الخارجية؟

نصائح أخرى

جرب هذا:

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();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top