手机
当前位置:查字典教程网 >编程开发 >C#教程 >在Framework 4.0中:找出新增的方法与新增的类(一)
在Framework 4.0中:找出新增的方法与新增的类(一)
摘要:程序思路:动态加载V4和V2的mscorlib.dll程序集,通过反射进行比较。之所以加载mscorlib.dll是因为framework中...

程序思路:动态加载V4和V2的mscorlib.dll程序集,通过反射进行比较。

之所以加载mscorlib.dll 是因为framework中的大部分类都在这里,而发生变更的也就是这里最多。

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

加载程序集:

在Framework 4.0中:找出新增的方法与新增的类(一)1

加载程序集完成后,自然要获取程序集中的所有Type,这里直接使用默认的GetTypes方法。

在Framework 4.0中:找出新增的方法与新增的类(一)2

获取了v4Types 和v2Types之后,就要对v2Types里面的所有Type于v4Types里面的所有Type进行比较,

而比较的内容就是GetMembers返回的所有MemberInfo.

完整代码如下:

复制代码 代码如下:

static void Main(string[] args)

{

string v4AssemblyPath = @"C:WindowsMicrosoft.NETFrameworkv4.0.30319mscorlib.dll";

string v2AssemblyPath = @"C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorlib.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("程序执行完毕!");

Console.ReadLine();

}

程序运行结果如下:

在Framework 4.0中:找出新增的方法与新增的类(一)3

【在Framework 4.0中:找出新增的方法与新增的类(一)】相关文章:

C#调用Matlab生成的dll方法的详细说明

c#启动EXE文件的方法实例

在C#中创建和读取XML文件的实现方法

C#导出生成excel文件的方法小结(xml,html方式)

C#读写文件的方法汇总

c#中的常用ToString()方法总结

解决用Aspose.Words,在word文档中创建表格的实现方法

C#定位txt指定行的方法小例子

C#几种截取字符串的方法小结

C#操作目录与文件的方法步骤

精品推荐
分类导航