リソースの一覧を取得


例:リソースの一覧を取得し配列に格納

   Dim LogoName As String()
   Dim i As Integer = 0

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim asm As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly()
       Dim types As Type() = asm.GetTypes()
       Dim t As Type
       LogoName = New String(20) {}

       For Each t In types
           Dim prop As Reflection.PropertyInfo
           For Each prop In t.GetProperties((Reflection.BindingFlags.NonPublic Or Reflection.BindingFlags.Static))
               If prop.PropertyType Is GetType(System.Resources.ResourceManager) Then
                   System.Diagnostics.Debug.WriteLine(("<" + t.FullName + "." + prop.Name + ">"))
                   Dim resource As System.Resources.ResourceManager = prop.GetValue(Nothing, Nothing) '
                   Dim resourceset As System.Resources.ResourceSet = resource.GetResourceSet(Application.CurrentCulture, True, True)
                   Dim id As System.Collections.IDictionaryEnumerator = resourceset.GetEnumerator()
                   While id.MoveNext()
                       System.Diagnostics.Debug.WriteLine((id.Key.ToString() + " => " + id.Value.ToString()))
                       LogoName(i) = id.Key.ToString()
                       Console.WriteLine(i)
                       i += 1
                   End While
               End If
           Next prop
       Next t
   End Sub































.
最終更新:2008年08月08日 14:36