using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using System.Resources; using System.Text; namespace Plane.Reflection { public static class Utils { public static Dictionary GetResourcesUnder(string dir) { dir = dir.ToLower(); if (!dir.EndsWith("/")) { dir += "/"; } var assembly = Assembly.GetCallingAssembly(); var resourcesName = assembly.GetName().Name + ".g.resources"; var stream = assembly.GetManifestResourceStream(resourcesName); var resourceReader = new ResourceReader(stream); return (from p in resourceReader.OfType() let theme = (string)p.Key where theme.StartsWith(dir) select new { Key = theme.Substring(dir.Length), Value = p.Value as Stream }).ToDictionary(i => i.Key, i => i.Value); } } }