• 一堆DLL中找一个类


    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Reflection;
    using System.Linq;

    namespace SampleConsole
    {
    class Program
    {
            static void Main(string[] args)
            {
                string find = "SessionState";
                string dir = @"D:\project\website\XXX\website\XXX.Core\trunk\Lib\Dll";
                new DirectoryInfo(dir)
                    .EnumerateFiles("*.dll"SearchOption.AllDirectories)
                    .AsParallel()
                    .Select(f => f.FullName)
                .Select(p =>
                {
                    try
                    {
                        return new
                        {
                            Path = p.ToLower().Replace(dir.ToLower(), string.Empty),
                            Assembly = Assembly.LoadFrom(p)
                        };
                    }
                    catch (BadImageFormatException) { return null; }
                }).Where(x => x != null)
                .Select(x =>
                    {
                        try
                        {
                            return new
                            {
                                Path = x.Path,
                                Types = x.Assembly.GetTypes().AsParallel()
                                        .Select(t => t.FullName)
                                        .Where(s => s.IndexOf(find) > -1)
                            };
                        }
                        catch (ReflectionTypeLoadException) { return null; }
                    }).Where(x => x != null && x.Types.Count() > 0)
                    .ToList()
                    .ForEach(x =>
                        Console.WriteLine(x.Path + "\n" + x.Types.Aggregate((a, b) => a + "\n" + b) + "\n\n")
                        );
            }
    }
    }
  • 相关阅读:
    Baskets of Gold Coins_暴力
    Inversion_树状数组***
    萌新的旅行-
    KI的斐波那契_DFS
    牛吃草_二分法
    See you~_树状数组
    Bellovin_树状数组
    Bubble Sort_树状数组
    [Python] numpy.ndarray.shape
    [Python] numpy.sum
  • 原文地址:https://www.cnblogs.com/goodspeed/p/1787079.html
Copyright © 2020-2023  润新知