Подтвердить что ты не робот

Получить все строки из Resourcemanager

Мне нужно написать программу, которая читает все строковые ресурсы из dll и вставляет их в некоторую таблицу. У меня есть метод, который читает ресурсы:

    private static IEnumerable<KeyValuePair<string,string>> getAllResources(ResourceManager resourceManager, 
        Language language)
    {

        ResourceSet resourceSet = resourceManager.GetResourceSet(getCulture(language), true, true);

        IDictionaryEnumerator dictNumerator = resourceSet.GetEnumerator();

        // Get all string resources
        while (dictNumerator.MoveNext())
        {
            // Only string resources
            if (dictNumerator.Value is string)
            {
                var key = (string)dictNumerator.Key;
                var value = (string)dictNumerator.Value;
                yield return new KeyValuePair<string, string>(key, value);
            }
        }
    }

Но когда я начал использовать его, я заметил, что он также читает ресурсы, которые добавляются как файл (читает содержимое файла)

Как игнорировать ресурсы, которые добавляются как "файл", и читать только строки?

4b9b3361

Ответ 1

Нет никакого способа сделать это. Посмотрите, например, раздел ресурса вашей сборки через Reflector. Ваш текстовый файл сохраняется как String. Нет никакой разницы между значением String и значением текстового файла.

Двоичные файлы, однако, не будут проблемой, так как для двоичных типов файлов у вас будет байт [] как значение, а не строка.