قم بالتكرار عبر جميع الموارد في ResourceManager - C#

StackOverflow https://stackoverflow.com/questions/140043

  •  02-07-2019
  •  | 
  •  

سؤال

كيف يمكنني تكرار جميع الموارد في مدير الموارد؟

أي: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" معين

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top