JJY

(转)C#静态方法使用经验浅谈

转自:http://developer.51cto.com/art/200908/147734.htm

 

C#静态方法有什么弊端? 我们在实际的开发过程中会注意到C#静态方法对于我们程序的影响,那么有哪些C#静态方法使用的体会呢?这里我们来看看一些方面:

C#静态方法使用中遇到的问题:

在源码工程中几乎没有看到什么静态方法,但是在Ms的SQLHelper中几乎全部使用的是静态方法,为什么会这样呢?我们来看看有以下的几种可能:

1、在一些系统中使用非常频繁的方法都使用静态方法可以提高系统性能我是这么认为的 :)

2、本身不可升级, 重写 这要看一个软件产品的目的是什么了.

3、为了方便,不用实例化,但这样程序编译运行时就占用了系统资源

4、C#静态方法及属性在程序启动的时候,就全部装入内存的,而不管这些方法、属性以后有没有用到。即使是没有人再访问程序,这部分内存仍然不会释 放还有就是,所有访问者看到的静态属性的数据几乎都是一样的,比如A用户设置了UserName这个属性,B用户访问的时候,得到的UserName仍然 是A用户设置的那个。这种特性,如果用在固定数据中,那不会有太大问题,比如连接字符串之类的

5、C#静态方法/数据成员是属于类的,不是属于某一个对象的,因而调用它不需要实例化;静态方法和静态数据成员相当于共享变量。为该类的所有对象 所共有,因而在需要共享数据时,定义这种类型时很好的选择。 一但定义一个类后(不一定要实例化对象)该类的所有静态成员就载入内存(并不是程序启动,就装入内存,没有定义该类时它不会载入内存) 静态成员的作用域与它所属的类的作用域相同

C#静态方法的使用情况的一些相关内容就向你介绍到这里,希望对你学习和使用C#静态方法有所帮助。

posted on 2013-09-06 21:44  MikeJia  阅读(1362)  评论(0编辑  收藏  举报

导航