zoukankan      html  css  js  c++  java
  • 再谈CLR:如何通过代码获取程序集所引用的程序集信息

    上一篇我们提到过程序集引用的问题,通过反编译工具可以很方便地看到他们的引用关系。如下图所示

    image

    那么是否有办法在代码中进行查询得到这些信息呢?答案是肯定的,我们可以通过下面的简单代码就实现了

    我们主要用到了反射技术

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Assembly assembly = Assembly.GetExecutingAssembly();
                Console.WriteLine("当前程序集所引用的程序集包括:");
    
                foreach (var item in assembly.GetReferencedAssemblies())
                {
    
                    Console.WriteLine("名称:{0},版本:{1},公钥标记:{2}",
                        item.Name,
                        item.Version,
                        Byte2String(item.GetPublicKeyToken()));
                }
    
                Console.Read();
            }
    
            static string Byte2String(byte[] token) {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < token.GetLength(0); i++)
                {
                    sb.Append(string.Format("{0:x}",token[i]));
                }
                return sb.ToString();
            }
    
    
        }
    }
     
    image 
    
  • 相关阅读:
    关于this的指向问题
    blued面经
    数美(sm)面经
    xue球 面经
    jquery中的$("#id")与document.getElementById("id")的区别
    如何知道iframe文件下载download完成
    前端linux基础
    Vue.js 初级面试题
    React 面试题
    从输入URL到页面加载的过程
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1689602.html
Copyright © 2011-2022 走看看