上一页 1 ··· 3 4 5 6 7
摘要: 代码看值类型和引用类型的一个区别 public class MyClass1 { } public struct Mystruct { } public class ILDemo { MyClass1 Mc = new MyClass1(); Mystruct Ms = new Mystruct(); }.method public hidebysig specialname rtspecialname instance void .ctor() cil managed{ // 代码大小 31 (0x1f) .maxstack 8 IL_0000: ldarg.0 IL_0001: newob 阅读全文
posted @ 2013-12-17 16:31 瀚海行舟 阅读(121) 评论(0) 推荐(0) 编辑
摘要: .assembly 用于指定编译目标或则外部加载库(.assembly只加载实际用到的目标或者库).Ctor 指令表示构造函数.Ver表示引用版本.publicKeytoKen公钥.Hash algorithm 表示现实安全性使用的哈希算法.module程序集指令表明定义的模块的元数据,指当前模块.imagebase 为影像基地址.file alignment为文件对其数值.subsystem表示连接系统类型(运行方式).corflags为设置运行库头文件标志.class 表示是一个类extends继承指向auto表明加载的时候内存是有clr决定ansi指示没有运行在clr运行库上面的代码be 阅读全文
posted @ 2013-12-17 16:29 瀚海行舟 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 接口什么是接口:接口就是一个契约,一个对于类的行为约束接口的本质InterFace ImyInterface{Void MyMethod();}编译成IL语言就是:.Class Private interface abstract auto ansi ImyInterface{.method Public hidebysig newslot abstrct virtual instance void MyMethod() cilmanaged}从上面的代码可以看出,接口在编译后实际上是被编译成了,一个抽象类, 而接口里面定义的方法是被编译成了,一个虚拟的禁止为已经发布的接口添加新的成员,因为这 阅读全文
posted @ 2013-12-12 15:51 瀚海行舟 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 多态什么是多态,多态就是调用不同的类的相同方法实现不同的行为多态根据实现的方式我们可以进一步分为,基类继承试多态和接口实现试多态Net的方法多态绑定机制成就了面向对象的的多态特性程序说明 enum FileType { doc, pdf, txt, ppt}interface IFileOpen { void Open();}abstract class Files : IFileOpen { private FileType fileType; public FileType FileType { get { return fileType; } } public abstract void 阅读全文
posted @ 2013-12-12 14:53 瀚海行舟 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 封装(字段:表示类状态信息,属性:表示类的对外成员,方法:提供了类的对外表现)封装的第一个原则就是字段应该定义为privateNet有了字段为什么还有有属性:因为字段是表示类的状态信息,如果吧字段声明为Public开放给外部,哪就不能很好的保证字段信息的合法性,但是我们又想保证吧类的信息开放给外部供外部读取修改,又想保证类信息的合法性,哪该怎么做?,在这个需求上面就诞生了属性,可以通过属性隔离外部读写字段信息,过滤字段信息,属性一般都是public的,通过IL分析我们可以看出,属性的set,get在编译的时候就是生成了get(),set(object)方法属性降低了字段修改对外部的影响,比如我 阅读全文
posted @ 2013-12-11 17:36 瀚海行舟 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 继承继承就是面向对象中类与类之间的一种关系继承按着实现方式的不同一般分为两类,实现继承(直接继承其他的类),接口继承(继承只接口)CLr支持实现单继承和接口多继承子类中实现父类虚方法的方式叫做方法的动态绑定生命对象Bird bird=new Bird();这个过程发生了什么Bird bird这个是创建一个Bird的引用New Bird()创建一个Bird的对象,并且初始化这个对象,分配内存空间,然后把这个对象引用赋给bird变量,建立bird和Bird的关系对象初始化的时候,会先找到他的父类,为其父类分配内存空间,而父类还会去找更上层的父类分配内存空间,一直类推到system.object为止 阅读全文
posted @ 2013-12-10 18:11 瀚海行舟 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 对象描述:1.一个对象的诞生和一个人诞生一样,一个对象的诞生就是给对象在内存中分配一个空间,然后调用构造函数初始化对象的基本属性(给对象一个特有的标记),2.和人的行业(工人,农民。。。)一样对象也有类型(整形,字符型。。。),常见的分类是 值类型和引用类型,值类型是存储在线程的堆栈里面,而引用类型是存储在托管堆里面,有值类型转化为引用类型是装箱,而有引用类型转化为值类型是拆箱3.和人一样对象和对象之间也有形形色色的交互,也有生存环境,CLR就是对象的生存环境,CLR为对象提供了赖于生存的托管环境4.,对象就是在一定的约束和规则(接口)下,通过方法进行交互,来改变自身(获取信息,提供信息)对象 阅读全文
posted @ 2013-12-10 18:10 瀚海行舟 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 在数据库查询的时候,我们有时有这样的需求,就是要找出数据表里指定范围行内的数据记录,比如说要找出数据表里第10行到第20行的这10条数据,那么我们怎么来实现呢?按照通常的方法是实现不了的,我们得借助于临时表以及一个函数来实现代码如下:Selectno=Identity(int,1,1),*Into#temptableFromdbo.teacher_infoorderbyteacher_name--利用Identity函数生成记录序号Select*From#temptableWhereno>=10Andno<20DropTable#temptable--用完后删除临时表这样我们就实现 阅读全文
posted @ 2013-03-08 14:30 瀚海行舟 阅读(296) 评论(0) 推荐(0) 编辑
摘要: Dictionary<string, int> dic1 = new Dictionary<string, int>(); dic1.Add("艺龙一楼", 1); dic1.Add("艺龙二楼", 2); dic1.Add("艺龙三楼", 3); //查找 if (dic1.ContainsKey("艺龙二楼")) { int i = dic1["艺龙二楼"]; Response.Write(i); } dic1.Remove("艺龙二楼"); Di 阅读全文
posted @ 2013-01-10 17:34 瀚海行舟 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 许多时候我们会遇到如下场景在写一个编辑数据的页面时,我们通常会写如下代码1:<inputtype="text"value='<%=ViewData["title"] %>'name="title"/>由前篇我们所讲的Helper演化,我们思考,对于这种代码我们是不是也可以用一个Helper来自动绑定数据呢这当然是可以的,ASP.NET MVC提供了一个HtmlHelper用于生成有数据绑定的Html标签。1.ActionLink其中最常用的就是Html.ActionLink1.1基本的使用方式 阅读全文
posted @ 2012-11-19 15:03 瀚海行舟 阅读(248) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7