欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Framework 4.0中:找出新增的方法與新增的類(一)

 更新時間:2013年05月13日 17:07:59   作者:  
經(jīng)??吹接型瑢W(xué)在討論Framework 4 的新特性,新方法,于是想寫個程序找出framework4.0中新增的方法和類
程序思路:動態(tài)加載V4和V2的mscorlib.dll程序集,通過反射進(jìn)行比較。
之所以加載mscorlib.dll 是因?yàn)閒ramework中的大部分類都在這里,而發(fā)生變更的也就是這里最多。

第一步:新建控制臺程序:

加載程序集:

image

加載程序集完成后,自然要獲取程序集中的所有Type,這里直接使用默認(rèn)的GetTypes方法。

image

獲取了v4Types v2Types之后,就要對v2Types里面的所有Typev4Types里面的所有Type進(jìn)行比較,

而比較的內(nèi)容就是GetMembers返回的所有MemberInfo.

完整代碼如下:

復(fù)制代碼 代碼如下:

static void Main(string[] args)
{
    string v4AssemblyPath = @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll";
    string v2AssemblyPath = @"C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll";
    //Assembly v4Assembly = typeof(object).Assembly;
    Assembly v4Assembly = Assembly.LoadFile(v4AssemblyPath);
    Assembly v2Assembly = Assembly.LoadFile(v2AssemblyPath);
    Type[] v4Types = v4Assembly.GetTypes();
    Type[] v2Types = v2Assembly.GetTypes();
    foreach (Type v2Type in v2Types)
    {
        Type v4Type = v4Types.First(t => t.FullName == v2Type.FullName);
        MemberInfo[] v2Mis = v2Type.GetMethods();
        MemberInfo[] v4Mis = v4Type.GetMethods();
        if (v2Mis.Length != v4Mis.Length)
        {
            foreach (MemberInfo v2Mi in v2Mis)
            {
                bool isExist = false;
                foreach (MemberInfo v4Mi in v4Mis)
                {
                    if (v2Mi.Name == v4Mi.Name)
                    {
                        isExist = true;
                        break;
                    }
                }
                if (!isExist)
                {
                    Console.WriteLine("{0}:{1}", v2Type.FullName, v2Mi.Name);
                }
            }
        }
    }
    Console.WriteLine("程序執(zhí)行完畢!");
    Console.ReadLine();
}


程序運(yùn)行結(jié)果如下:

image

相關(guān)文章

  • C#中數(shù)組擴(kuò)容的幾種方式介紹

    C#中數(shù)組擴(kuò)容的幾種方式介紹

    這篇文章介紹了C#中數(shù)組擴(kuò)容的幾種方式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • C#?異步多線程入門基礎(chǔ)

    C#?異步多線程入門基礎(chǔ)

    今天來談?wù)劗惒蕉嗑€程,做網(wǎng)站服務(wù)的同學(xué)都知道,Web?應(yīng)用是天生的異步多線程,無論做?Winform、WPF、Webform?等,異步多線程的應(yīng)用是非常廣泛的。本篇主要講解一些概念性東西,與一些實(shí)例來入門異步多線程
    2021-11-11
  • 詳解.NET 6如何實(shí)現(xiàn)獲取當(dāng)前登錄用戶信息

    詳解.NET 6如何實(shí)現(xiàn)獲取當(dāng)前登錄用戶信息

    這篇文章主要介紹了.NET 6在應(yīng)用開發(fā)時是如何實(shí)現(xiàn)當(dāng)前登陸用戶信息獲取的,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2022-01-01
  • C#.net中的類型轉(zhuǎn)換詳細(xì)介紹

    C#.net中的類型轉(zhuǎn)換詳細(xì)介紹

    C#.net中的類型轉(zhuǎn)換詳細(xì)介紹,需要的朋友可以參考一下
    2013-04-04
  • C#中的char、string和StringBuilder的使用詳解

    C#中的char、string和StringBuilder的使用詳解

    這篇文章主要介紹了C#中的char、string和StringBuilder的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • C#使用FluentScheduler實(shí)現(xiàn)觸發(fā)定時任務(wù)

    C#使用FluentScheduler實(shí)現(xiàn)觸發(fā)定時任務(wù)

    FluentScheduler是.Net平臺下的一個自動任務(wù)調(diào)度組件,這篇文章主要為大家詳細(xì)介紹了C#如何使用FluentScheduler實(shí)現(xiàn)觸發(fā)定時任務(wù),感興趣的小伙伴可以了解下
    2023-12-12
  • C#實(shí)現(xiàn)通過winmm.dll控制聲音播放的方法

    C#實(shí)現(xiàn)通過winmm.dll控制聲音播放的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)通過winmm.dll控制聲音播放的方法,很實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • C# IQueryable及IEnumerable區(qū)別解析

    C# IQueryable及IEnumerable區(qū)別解析

    這篇文章主要介紹了C# IQueryable及IEnumerable區(qū)別解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • C#靜態(tài)static的用法實(shí)例分析

    C#靜態(tài)static的用法實(shí)例分析

    這篇文章主要介紹了C#靜態(tài)static的用法,以實(shí)例形式較為深入的分析了靜態(tài)類、靜態(tài)變量、靜態(tài)方法以及靜態(tài)構(gòu)造函數(shù)的特性與用法,需要的朋友可以參考下
    2014-10-10
  • C#中l(wèi)ock用法詳解

    C#中l(wèi)ock用法詳解

    這篇文章主要介紹了C#中l(wèi)ock用法,以實(shí)例形式詳細(xì)分析了lock語句的用法及用途,需要的朋友可以參考下
    2014-11-11

最新評論