zoukankan      html  css  js  c++  java
  • 一堆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")
                        );
            }
    }
    }
  • 相关阅读:
    Commander Nodejs 命令行接口
    数据库集群 ---续集
    数据库集群
    实时查看linux下的日志
    自动化测试
    python中list和dict
    super与this的用法
    数据类型
    父类调用子类方法
    子类调用父类方法
  • 原文地址:https://www.cnblogs.com/goodspeed/p/1787079.html
Copyright © 2011-2022 走看看