委托概述 委托是寻址方法的.NET版本. 在C++中,函数指针只不过是一个指向内存位置的指针,它不是类型安全的.我们无法判断这个指针实际指向什么,更不知晓像参数和返回类型等项了. 而.NET委托完全不同,委托是类型安全的类,它定义了返回类型和参数的类型.委托不仅包含对方法的引用...
分类:
其他好文 时间:
2014-10-25 11:51:23
阅读次数:
103
使用委托的轻型线程
异步委托
创建线程的一种简单的方式是定义一个委托,并异步调用它。委托是方法的类型安全的引用(类型安全代码指访问被授权可以访问的内存位置。例如,类型安全代码不能从其他对象的私有字段读取值。它只从定义完善的允许方式访问类型才能读取。类型安全的代码具备定义良好的数据类型)。Delega...
分类:
编程语言 时间:
2014-10-22 23:18:44
阅读次数:
353
在2005年底微软公司正式发布了C# 2.0,与C# 1.x相比,新版本增加了很多新特性,其中最重要的是对泛型的支持。通过泛型,我们可以定义类型安全的数据结构,而无需使用实际的数据类型。这能显著提高性能并得到更高质量的代码。泛型并不是什么新鲜的东西,他在功能上类似于C++的模板,模板多年前就已存在C...
在 .NET Framework 中,内存中的资源(即所有二进制信息的集合)分为“托管资源”和“非托管资源”。托管资源必须接受 .NET Framework 的 CLR (通用语言运行时)的管理(诸如内存类型安全性检查),而非托管资源则不必接受 .NET Framework 的 CLR 管理。(了解...
// Playground - noun: a place where people can play
import UIKit
//2014-09-23 集合类型 Collection Types
//.............................................
//1.数组
/*
1. 数组是类型安全的
*/
//1.1定义一个数组变量
var sho...
分类:
编程语言 时间:
2014-10-10 16:37:34
阅读次数:
301
32, 总是优先考虑泛型。 泛型代码有很好的重复利用性,和类型安全性。 33, 应尽量避免在泛型类中声明静态成员。 静态成员达不到共享的目的。List和List是两个不同的类型,而静态成员是针对类型的。当然2个List之间是可以共享静态成员的,但为了不必要的混淆,应该避免使用静态成员。 34, 为泛...
分类:
其他好文 时间:
2014-10-09 19:10:47
阅读次数:
194
C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个C 函数的声明如下:void foo(int x, int y);该函数被C 编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连...
分类:
编程语言 时间:
2014-10-08 04:18:24
阅读次数:
215
雖說不難,但很重要!!1.const常量,如const int max = 100;优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)2.const修饰类的数据成员。如...
分类:
其他好文 时间:
2014-10-02 01:45:32
阅读次数:
234
按照一些资料上讲,其实enum也就是在编译器层面实现用类来包装枚举(typesafe enum 模式)的思想。以保证类型安全。自己用类来写枚举其实效果也还是不错的,只是代码略显啰嗦。例子代码 1 public class EnumClass1 extends EnumClass { 2 privat...
分类:
其他好文 时间:
2014-09-29 15:50:31
阅读次数:
239
CLR总是知道托管堆上的对象是什么类型,这是CLR类型安全的前提。托管堆上的每个对象都有一个"类型对象指针",指向托管堆上Type对象的一个实例。我们总是可以通过System.Object的GetType实例方法,获取对象类型。而且,GetType是非虚方法,这样子类就不能重写该方法,子类就没有办法...
分类:
其他好文 时间:
2014-09-26 11:44:38
阅读次数:
114