随笔
KathyLiu
这个作者很懒,什么都没留下…
展开
-
C#——委托
委托类型表示对具有特定参数类表和返回类型的方法的引用,类似于函数指针,但又有所不同。C#中的委托是面向对象且类型安全的。C#中的委托既可以封装对象成员又可以封装方法。 C#使用委托来提供相同的功能,它将方法作为对象封装起来,允许在运行时间接地绑定一个方法调用。 委托是强类型的,对委托的调用也是强类型的。假如数据类型不匹配C#编译器会报错。 委托是一个原创 2011-11-30 13:45:10 · 651 阅读 · 0 评论 -
c#泛型约束
C#泛型约束分为:基类约束、接口约束、struct/class约束(值类型/引用类型约束)和构造器约束,另外还有一种where T:U,指定类型实参T必须是类型实参U或者是U的派生类,称之为裸类型约束。where子句之间没有顺序,但where内部各种类型约束之间有次序要求,依次为:基类型/struct/class类型、接口类型、构造器类型。 基类约束和接口约束的语法较为简单:w原创 2011-11-30 16:33:50 · 734 阅读 · 0 评论 -
c#4.0文件操作
File类:提供了一系列静态方法进行创建、删除、移动和打开操作,并协助创建FileStream对象。FileInfo类提供实例方法。Stream抽象基类:支持读取和写入字节,集成异步支持,默认实现根据其相应的异步方法来定义同步读取和写入,所有表示流的类都从该类继承。流涉及三个基本操作:读取、写入和查找。Directory类:提供创建、移动和枚举目录和子目录的静态方法。Directory原创 2011-12-06 22:11:15 · 342 阅读 · 0 评论 -
C#中结构与类的区别
结构与类的区别:结构是值类型,类是引用类型所有结构都是隐式继承自System.ValueType,而后者继承自object类。结构类型永远不能是抽象的,且始终为隐式密封的。结构不支持继承对结构型变量进行赋值将创建所赋值的一个副本,而对一个类类型变量进行赋值只是添加了一个引用结构的默认值的生成方式为:将所有值类型的域设置为它们的默认值,并将所有的引用类型的域设置为null使用装箱和拆箱操作在原创 2011-12-06 23:17:24 · 244 阅读 · 0 评论 -
C#平台互操作性
C#通过3种方式提供支持:通过平台调用(Platform Invoke,P/Invoke)来调用非托管DLL所公开的API通过不安全代码访问内存指针和地址通过COM Interop(COM互操作)平台调用代码编写应谨记的指导原则:核实确实没有托管类已经公开你想要的API将API外部方法定义为private,或者在i暗淡的情况下定义为internal围绕外部方法提供公共包装方原创 2011-12-07 00:01:13 · 392 阅读 · 0 评论