コード例 #1
0
        public static IEnumerable <Type> FindTypesInAssemblies(Predicate <Type> predicate)
        {
            var assemblyParts = ApplicationParts.OfType <AssemblyPart>();
            var result        = (
                from assemblyPart in assemblyParts
                let assembly = assemblyPart.Assembly
                               select assembly);

            return(FindTypesInAssemblies(result, predicate));
        }
コード例 #2
0
        public static Assembly FindAssembyByName(string name)
        {
            /*
             * IEnumerable<AssemblyName> assemblyNames = DependencyContext.Default.GetDefaultAssemblyNames();
             * var resultQ = (
             * from aName in assemblyNames
             *               where System.String.Compare(name, aName.Name, System.StringComparison.OrdinalIgnoreCase) == 0
             * select aName);
             * var assemblyName = resultQ.FirstOrDefault();
             * Assembly assembly = Assembly.Load(assemblyName);
             * return assembly;
             */

            var assemblyParts = ApplicationParts.OfType <AssemblyPart>();
            var result        = (
                from assemblyPart in assemblyParts
                let assemblyName = assemblyPart.Assembly.GetName()
                                   where System.String.Compare(name, assemblyName.Name, System.StringComparison.OrdinalIgnoreCase) == 0
                                   select assemblyPart.Assembly);

            return(result.FirstOrDefault());
        }