摘要: 这一章所有的东东都是关于发现Type的信息的,在编译时完全不知道该Type任何信息的情况下,创建一个Type的实例,访问Type的成员等。本章的这些信息典型的应用就是创建一个可以动态扩展的应用程序。可扩展的应用程序就是一个公司写一个主应用,由其他公司来写“插件”从而来扩展这个主应用。主应用不能针对这个“插件”(add-in)来创建或测试,因为这些“插件”是不同的公司写的或“插件”是在主应用卖出去以后才写的。这就是为什么主应用需要在运行时发现“插件”中的信息。 一个动态扩展的应用程序会利用21章所介绍的“公共语言运行时(CLR)宿主和应用程序域(AppDomain)”。宿主会在一个有自己的安全和 阅读全文
posted @ 2011-03-12 23:59 王海龙(Heaven) 阅读(531) 评论(0) 推荐(1) 编辑
摘要: 接上上篇文章,这章我们看实战代码Question: 首先 struct是一个结构 那么可以这样使用struct MyStruct{ public int a;}MyStruct struct;struct.a = 1; //编译通过,符合struct不用new的说法Rectangle rc; //Rectangle也是一个Struct啊,我还是不用newrc.X = 1; //Error,编译失败。 使用了未赋值的局部变量“rc”为什么???answer:之前说的这句,那在初始化所有字段之前,字段将保持未赋值状态,且对象不可用。没有错。因为对于rectangle结构体中,其x为字段(即属性)定 阅读全文
posted @ 2011-03-12 23:42 王海龙(Heaven) 阅读(234) 评论(0) 推荐(1) 编辑
摘要: class 用来声明类,struct用来声明结构类 class:类是面向对象变成的基本概念,是一种自定义数据的结构类型,通常包括:字段、属性、方法、构造函数、索引器、操作符等等。类是引用类型,可以继承和被继承,所有的类都继承自System.Object类。类通过new 来创建对象的实例,这个过程叫做实例化。在new一个类的实例的时候,对象保存了该实例的实际数据的引用地址,而对象的值保存在托管堆中(managed heap)声明:public class MyClass{}实例化:MyClass aclass=new MyClass();非静态类:通过创建赋给变量的“对象”或“实例”来使用类。静 阅读全文
posted @ 2011-03-12 23:25 王海龙(Heaven) 阅读(370) 评论(0) 推荐(1) 编辑