Получить все строки из менеджера ресурсов - PullRequest
13 голосов
/ 30 июня 2011

Мне нужно написать программу, которая читает все строковые ресурсы из 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);
            }
        }
    }

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

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

1 Ответ

2 голосов
/ 30 июня 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...