Можно ли получить комментарий ресурса с помощью ResourceManager?

Я понимаю, что это по существу этот вопрос, но он принят ответ просто указывает на ссылку, которая, похоже, не делает то, что запросил спрашивающий (она не начинается с ResourceManager/ResourceSet).

Есть какой-либо способ сделать это?


person ChaseMedallion    schedule 17.09.2013    source источник


Ответы (3)


Чтобы получить содержимое ресурса, используйте:

            ResourceReader rr = new ResourceReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("resourceName"););

            IDictionaryEnumerator e = rr.GetEnumerator();
            string resourceType;

            byte[] resourceData;
            while (e.MoveNext())
            {
                string keyName = (string)e.Key;

                rr.GetResourceData(keyName, out resourceType, out resourceData);
            }
person Maxim Mazin    schedule 17.09.2013
comment
Когда я запускаю это, это дает мне только ResourceTypeCode.String и фактическое значение ресурса. Я не получаю комментарий ресурса. Как получить комментарий? - person ChaseMedallion; 17.09.2013

Единственное, о чем я мог сейчас думать, это прочитать ли файл .resx с помощью программы чтения xml.

person Remy    schedule 18.09.2013
comment
Есть ли надежный способ найти этот файл во время выполнения? - person ChaseMedallion; 14.08.2014
comment
Не уверен, что вы имеете в виду? Вы можете просто перебрать все каталоги или что-то в этом роде. - person Remy; 14.08.2014
comment
Но когда моя DLL будет развернута, у меня не будет исходной структуры каталогов, верно? - person ChaseMedallion; 14.08.2014

Из этой статьи: GetManifestResourceStream возвращает NULL

        string[] array = this.GetType().Assembly.GetManifestResourceNames();
        string[] array2 = Assembly.GetExecutingAssembly().GetManifestResourceNames();

Поможет вам получить имя ресурса.

person Nolmë Informatique    schedule 26.07.2015
comment
Это возвращает список имен файлов ресурсов в сборке, а не комментарии, связанные с ключами ресурсов в файлах .resx. - person ChaseMedallion; 26.07.2015