Как получить названия всех ресурсов в файле ресурсов

Я начал, пройдя первые 50 проектов Эйлера . Это был отличный начальный опыт обучения.

Вскоре после того, как я начал активно участвовать в теге Stackoverflow F #. Видеть ответы, предоставленные другими, и необходимость исследовать мои собственные ответы было очень познавательно (вы знаете, что они говорят об обучении посредством обучения, это правда).

Тогда мой самый большой опыт обучения пришел от работы над проектами с открытым исходным кодом на F #. А именно FsEye и Unquote . Обе эти идеи возникли из размышлений о моем опыте работы с F # и выяснения, какие существуют возможности для обогащения экосистемы F #. В случае с FsEye это улучшило опыт FSI. В случае Unquote это была уникальная функция F #. Эти два обучения на опыте серьезных проектов стали тем, что действительно привело меня к глубокому пониманию и навыкам в F #.

5
задан Jürgen Steinblock 16 June 2009 в 09:48
поделиться

3 ответа

See if this piece of code helps.

    Dim runTimeResourceSet As Object
    Dim dictEntry As DictionaryEntry

    runTimeResourceSet = My.Resources.ResourceManager.GetResourceSet(System.Globalization.CultureInfo.CurrentCulture, False, True)
    For Each dictEntry In runTimeResourceSet
        If (dictEntry.Value.GetType() Is GetType(Icon)) Then
            Console.WriteLine(dictEntry.Key)
        End If
    Next

I have used Icon as an example, which you will have to change if you are using Bitmap.

EDIT: You will have to use reference of dictEntry.Value & see how it can be used for adding it to imagelist.

10
ответ дан 13 December 2019 в 19:33
поделиться

Следующее написано на C #, вы сможете легко перевести это на VB.

Assembly executingAssembly = GetExecutingAssembly();

foreach (string resourceName in executingAssembly.GetManifestResourceNames())
{
    Console.WriteLine( resourceName );
}

Теперь, когда у вас есть все имена ресурсов, вы можете перебирать список и делать что-то вроде :

foreach(string s in executingAssembly.GetManifestResourceNames())
{
    if (s.EndsWith(".bmp"))
    {
        imgStream = a.GetManifestResourceStream(s);
        if (imgStream != null)
        {                    
            bmp = Bitmap.FromStream(imgStream) as Bitmap;
            imgStream.Close();
        }   
    }
}

Я не пробовал это, но должно работать.

1
ответ дан 13 December 2019 в 19:33
поделиться

Попробуйте что-то вроде этого:

Dim reader As New ResXResourceReader(resxFilePath)

Dim en As IDictionaryEnumerator
en = reader.GetEnumerator()

While en.MoveNext()
    Console.WriteLine("Resource Name: [{0}] = {1}", en.Key, en.Value)
End While

reader.Close()

Вы можете найти больше примеров, которые могут вам помочь, по по этой ссылке . Примеры написаны на C #, но их нетрудно изменить для vb.net

0
ответ дан 13 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: