قم بالتكرار عبر جميع الموارد في ResourceManager - C#
سؤال
كيف يمكنني تكرار جميع الموارد في مدير الموارد؟
أي:foreach (سلسلة المورد في ResourceManager) // افعل شيئًا مع Recource.
شكرًا
المحلول
استخدم مدير الموارد.GetResourceSet() للحصول على قائمة بجميع الموارد الخاصة بثقافة معينة.تطبق ResourceSet التي تم إرجاعها IEnumerable (يمكنك استخدام foreach).
للإجابة على سؤال نيكو:يمكنك حساب عناصر IEnumerable
بإلقائها على العموم IEnumerable<object>
واستخدام Enumerable.Count<T>()
طريقة التمديد، وهي جديدة في C# 3.5:
using System.Linq;
...
var resourceSet = resourceManager.GetResourceSet(..);
var count = resSet.Cast<object>().Count();
نصائح أخرى
أتساءل لماذا ترغب في تكرار جميع الموارد.
على أي حال، ResourceManager
يحتاج إلى إنشاء مثيل لإعطائه أ Type
أو الاسم الأساسي حيث يمكنك البحث عن الموارد.ثم سوف تكون قادرا على استرداد أ ResourceSet
ولكن من أجل معين CultureInfo
, ، لذلك إذا كنت ترغب في الحصول على جميع الموارد الخاصة بـ "ResourceManager" معين