C#编程之程序集和反射】的更多相关文章

这里我又唠叨几句,大家在学习的时候,如看书或者看视频时觉得非常爽,因为感觉基本都看得懂也都挺容易的,其实看懂是一回事,你自己会动手做出来是一回事,自己能够说出来又是另一回事了.应该把学到的东西变成自己的东西,而不是依样画瓢. 在说反射之前,我们先来了解一下什么是程序集? 程序集 程序集是.net中的概念,程序集可以看作是给一堆相关类打一个包,相当于java中的jar包. 程序集包含: 资源文件 类型元数据(描述在代码中定义的每一类型和成员,二进制形式) IL代码(这些都被封装在exe或dll中)…
一.泛型1.CLR编译时,编译器只为MyList<T>类型产生“泛型版”的IL代码——并不进行泛型的实例化,T在中间只充当占位符.例如:MyList 类型元数据中显示的<T> 2.执行的时候,当JIT编译器第一次遇到MyList<int>时,将用int替换“范型版”IL代码与元数据中的T—进行泛型类型的实例化.例如 :Main函数中显示的<int> 3.什么是泛型泛型是具有占位符(类型参数)的类.方法.结构.接口 4.泛型类的继承public class F…
特性(Attribute)是用于为程序元素添加额外信息的一种机制.比如记录文件修改时间或代码作者.提示某方法已经过期.描述如何序列化数据等等.方法.变量.属性.类.接口.结构体以及程序集等都是程序元素. 1.使用特性 可以使用特性标注一个方法已经过时,已经有新方法了,但旧方法仍可以使用,当编译器发现某段代码调用了被ObsoleteAttribute 标识的程序元素时,就会产生一个警告或错误信息..NET 约定,所有特性的名称都以Attribute 结尾,但在使用时可以省略后缀Attribute.…
程序集 什么是程序集? 1.程序集(assembly)是一个及一个以上托管模块,以及一些资源文件的逻辑组合. 2.程序集是组件复用,以及实施安全策略和版本策略的最小单位. 3.程序集是包含一个或者多个类型定义文件和资源文件的集合.在程序集包含的所有文件中,有一个文件用于保存清单.(清单是元数据部分中一组数据表的集合,其中包含了程序集中一部分文件的名称,描述了程序集的版本,语言文化,发布者,共有导出类型,以及组成该程序集的所有文件). 4.在编译应用程序中,所创建的CIL代码存储在一个程序集中,程…
这里我又唠叨几句,大家在学习的时候,如看书或者看视频时觉得非常爽,因为感觉基本都看得懂也都挺容易的,其实看懂是一回事,你自己会动手做出来是一回事,自己能够说出来又是另一回事了.应该把学到的东西变成自己的东西,而不是依样画瓢. 在说反射之前,我们先来了解一下什么是程序集? 程序集 程序集是.net中的概念,程序集可以看作是给一堆相关类打一个包,相当于java中的jar包. 程序集包含: 资源文件 类型元数据(描述在代码中定义的每一类型和成员,二进制形式) IL代码(这些都被封装在exe或dll中)…
准备项目 1.新建一个空的解决方案MyProj.sln 2.在该解决方案下,建一个控制台项目P01.csproj 3.在该项目下,自己新建一个类MyFirstClass.cs 查看解决方案MyProj.sln,知道本次要编译哪个项目 查看项目文件P01.csproj(其实就是一个xml文档),可以知道本次程序会编译的类 类库编译成程序集 在bin目录下生成*.dll或*.exe 程序集包含哪些内容: 类型元数据[以二进制的形式,描述代码中定义的每一个类型和成员] 程序集元数据[程序集清单,版本号…
一个从asp.net mvc 3升级到asp.net mvc 4的项目发生了如下错误: [A]System.Web.WebPages.Razor.Configuration.HostSection cannot be cast to [B]System.Web.WebPages.Razor.Configuration.HostSection. Type A originates from 'System.Web.WebPages.Razor, Version=1.0.0.0, Culture=n…
(3)Use Microsoft’s PDBs to debug or profile external assemblies or libraries 招数3: 使用Microsoft的PDBs调试和分析外部的程序集和库 To accurately debug or profile an external assembly or library (i.e. one you’re not directly compiling), you need the PDB files that accom…
Windows 编程,程序编译使用的命令行工具. 1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件. 2.rc.exe文件是资源编译器.工程项目中的.rc文件中包含了对程序中所使用资源(菜单.图标等)的描述.rc.exe将.rc格式的文件编译为.res文件,供链接器链接到可执行文件中. 3.link.exe是Windows平台的链接器,它将cl.exe编译生成的obj文件,资源编译器生成的.res文件,以及lib目录下的lib文件等链接成可执行的exe文…
这一节应该是聊天程序的最后一节了,现在回顾我们的聊天程序,看起来还有很多功能没有实现,但是不管怎么说,都还是不错的.这一节我们将讲多服务器问题(高大上的说法就是负载问题了.)至于聊天程序的文件发送(也即二进制文件发送例如图片)和单点登陆(就是多加一个数组fd_L[],用来记录是否已经登陆过了.),这些问题就不讨论了. 支持多服务器实现负载问题的聊天程序 今天才知道原来我们一直使用的select来处理IO多路复用的这个函数最多只能有1024个连接,因为内部实现里面的数组就是只有1024,多了不行.…