كيفية تحديد موقع دليل الجذر المعزول
-
26-09-2019 - |
سؤال
أنا أستخدم 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();
لا تنتمي إلى StackOverflow