《C#类设计手册》基础知识要点
CTS Common Type System 通用类型系统 CLS Common Language Specification 公共语言规范 CLR Common Language Runtime 公共语言运行时 MSIL Microsoft 中间语言 GAC Global Assembly Cache 全局程序集缓存 Stack 栈 值类型使用 托管堆 类似C的堆,但不斟酌释放,因此叫“托管”,Managed 空间比栈大很多,但访问速度慢 C#将string和object也列为基本类型,虽然它们都是援用类型 枚举(位标记) System.Enum 实现了IFormattable 援用类型:类类型,拜托(指向方法的类型,安全指针),数组,字符串 在C#中没有全局变量和全局函数 1. 声明拜托; 2. 创建拜托对象,把它绑定到特定方法上; 3. 使用拜托对象,调用这个方法 装箱的对象包括值对象中的数据副本,如果装箱的对象修改了,不会影响原来的值对象。 数据库连接信息等应放在配置文件中,面向部署 默许情况下,System.Object.Equals() 测试援用等价,但可以Override使其测试值等价。
输出参数,与ref相似 out也是按援用传递
params 关键字 参数数组必须是方法声明中的最后1个参数,大量的字符串操作应使用
JIT编译器可使属性的访问比字段的访问更快 属性是快速访问对象状态的1种技术。 静态属性
索引器 “运算符” 特殊的方法
烧毁对象 把对象援用设置为null,并注意不再有对对象的其他援用,就能够显示烧毁对象。
利用程序中的大量析构函数会对性能有负面的影响,处理对象烧毁,首选方式利用
私有构造函数
将对象串行化保存下来,这类技术广泛利用于恢复利用程序的状态,定期获得屏幕快照,保存对象等。
.NET Framework提供了丰富的XML串行化模型
基于事件的编程是.NET Framework的基石 .NET Framework中的事件机制使用了拜托(回调) 事件作为1种经常使用的方法来消除事件源对象(生成事件的对象)与事件接收器对象(接受事件通知的对象)之间的耦合。
拜托 类似于利用程序中指向对象中方法的指针
单播拜托:允许1个对象上调用1个方法 多播拜托:允许在不同对象上调用1系列方法,保护1个调用对象
使用多播拜托的步骤:
调用拜托实例3种方式: 1 同步调用,等待方法履行终了,最多见 2 异步调用,等待方法履行终了,EndInvoke(),但在方法履行终了之前调用 3 异步调用,注册1个回调方法,1旦履行终了,给出通知
每一个事件,必须指定下面两项内容:事件名,事件的签名(参数列表)
System.EventHandler 1个内置的拜托 静态事件 较少见,相对1般事件
大多数情况下不需要定义定制的注册方法,但这类技术可使代码最简洁和快速。 Framework中,大多数控件都使用定制的注册方法。
继承和多态性 所有的面向对象语言都支持,多态性由继承支持,把1种类型的对象视作另外一种类型的实例的多态性
标记为非虚的方法不能重写 操作声明为virtual,可以重写该实现 操作声明为abstract,必须重写该实现
结构 继承自System.ValueType,继承自System.Object转换成它实现的接口类型,对援用类型代替类型要谨慎,不能调用接口不支持的任何对象。
metadata 是元编程的基础,在很多系统中也是根本的东西,了解这个东西可以比较深入的了解某个架构 查看元数据最简单方法使用ildasm.exe /adv或/advancel选项
只有数据的模块 SDK包括1个工具Assembly Linker(AL.exe)
将该文件编译成模块,必须使用C#.NET命令行编译器
添加到GAC 全局程序集缓存 但Microsoft不推荐利用程序与GAC相互依赖,应尽可能使用利用私有程序集部署方式
编译期间编译器使用私钥,将相应的公钥写入程序集清单 sn (Strong Name) sn /k *.snk MSDN中查找"Keys crytography"查找相应内容 publickey 较长的数字 public key token 公钥令牌 sn /t *.snk
gacutil -i *.dll 需要管理员权限 或在控制面板的管理工具中找 .NET FrameWork Configuration
1. Windows Forms几个平时没有留意的经常使用的属性:
2. Form在表单方法Show被调用时,事件和方法触发的顺序: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |