关闭

C#泛型编程指导原则(19--23)

标签: 编程c#eventsclassoop测试
1267人阅读 评论(2) 收藏 举报
分类:

Item 19: Use Static Data Members with Caution小心使用静态数据成员

对于非泛型类来说,静态数据成员被所有该类的对象所共享。然而,对于泛型类型,静态数据成员是被所有拥有相同类型参数的类型所共享。

如:

public class StaticData<T>

{

private static int _staticData = 0;

public void IncrementCount()

 {

_staticData++;

}

}

通过下面的方法来测试:

public void TestStaticData()

 {

StaticData<String> instance1 = new StaticData<String>();

instance1.IncrementCount();  // 1

StaticData<int> instance2 = new StaticData<int>();

instance2.IncrementCount();  // 1

StaticData<String> instance3 = new StaticData<String>();

instance3.IncrementCount();  // 2

}

请注意注释中标注的数字。instance1instance3共享同一个静态数据成员_staticData

Item 20: Use Interfaces in Lieu of Classes使用接口取代类

原理不讲了,所有OOP人员都应该明白的。

Item 21: Use Comparer<T> for All Type Comparisons为所有的类型比较使用Comparer<T>

Item 22: Use Nullable<T> for Optional Values为可选择的值使用Nullable<T>

Item 23: Use EventHandler<T> for All Events为所有事件使用EventHandler<T>

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:311488次
    • 积分:4310
    • 等级:
    • 排名:第7291名
    • 原创:79篇
    • 转载:33篇
    • 译文:55篇
    • 评论:103条
    文章分类
    最新评论