예제 #1
0
        private static IEnumerable <Type> GetAppModules()
        {
            AssemblyExtensions.LoadAllAssemblies();

            var assemblies = AppDomain
                             .CurrentDomain
                             .GetAssemblies()
                             .Where(x => x.GetName().Name.EndsWith("Patterns"));

            return
                (assemblies
                 .SelectMany(x => x.GetTypes(), (assembly, type) => type)
                 .Where(x => x.IsPublic && x.IsClass && (typeof(IAppModule).IsAssignableFrom(x)) && x.Name.EndsWith("AppModule")));
        }