沙加
致力于.Net开发,AJAX技术
博客园
首页
新随笔
联系
订阅
管理
随笔 - 49 文章 - 0 评论 - 205 trackbacks - 6
<
2008年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
严正声明 : 本站文章转载请注明出处.
与我联系
发短消息
搜索
留言簿
(11)
给我留言
查看留言
我参加的小组
Debug 探索团队小组
Visual Studio
javascript
.NET 3.x
WinForms
单元测试
北京.NET俱乐部博客园小组
CLR基础研究小组
成都.NET俱乐部
我的标签
算法
(4)
8皇后
(2)
javascript
(2)
数据库主键
(1)
进制转换
(1)
主键生成器
(1)
联表查询
(1)
StringTemplate
(1)
模版引擎
(1)
静态构造函数
(1)
更多
随笔分类
.Net开发技巧系列(11)
.NET相关(15)
Atlas学习笔记(1)
JAVA
Javascript(1)
雕虫小技(4)
模版引擎(1)
算法研究(4)
我翻译的文档(2)
杂七杂八(7)
随笔档案
2008年8月 (4)
2008年7月 (1)
2008年6月 (4)
2008年5月 (3)
2008年4月 (1)
2008年3月 (2)
2008年2月 (3)
2008年1月 (1)
2007年12月 (6)
2007年11月 (5)
2007年10月 (4)
2007年9月 (1)
2007年8月 (1)
2007年7月 (1)
2007年4月 (1)
2006年4月 (4)
2006年3月 (7)
Atlas相关
积分与排名
积分 - 55464
排名 - 766
阅读排行榜
1. 在ASP.NET中防止注入攻击[翻译](5099)
2. VS2005运行速度优化心得(5053)
3. 给Repeater的数据绑定添加智能感知(3453)
4. .Net下的分布式缓存--从Discuz!NT的缓存设计谈起[原创](3268)
5. 项目工作杂感(3098)
静态构造函数的理解
前两天看到一道题~~
class
Program
{
static
void
Main(
string
[] args)
{
Caculator ca
=
new
Caculator();
Caculator ca1
=
new
Caculator();
Console.WriteLine(
"
Current object count is :
"
+
Caculator.InstanceCount.ToString());
Console.ReadLine();
}
}
public
class
Caculator
{
public
static
int
InstanceCount;
static
Caculator()
{
InstanceCount
++
;
}
public
Caculator()
{
InstanceCount
++
;
}
}
这个的输出结果是多少呢~~~
应该是3,Why~~~? 要理解这个问题首先要知道静态函数何时被调用~~, 在.Net中这个函数是第一次调用静态成员,执行实例化时发生. 而这个static的构造方法是不能被直接调用的, 因此在执行实例化操作时调用的还是这个public 的构造方法. 这个题稍微改一下就又不一样了`~
比如在 static Caculator() 方法前加一个public, 刚才讲过了,这个static的构造方法不能被直接调用, 因此加上这个public的修饰符是非法的,编译不能通过. 同时,这个方法也不能含有参数(还是因为不能手动调用), 否则也是非法的.
那么这个静态构造函数有什么用处呢~~ 比如可以用它来做日志类的初始化器~~应用程序可以利用它写入日志.
也可以用作非托管资源的包装类, 在这里可以调用LoadLibrary方法以选择需要加载的版本.
Tag标签:
静态构造函数
posted on 2008-05-06 11:30
沙加
阅读(238)
评论(2)
编辑
收藏
所属分类:
.Net开发技巧系列
FeedBack:
#1楼
2008-05-06 12:20
迷宫 [未注册用户]
没搞清楚有什么用,怎么用
回复
引用
#2楼
2008-05-06 12:41
Sapphire [未注册用户]
好理解,就象静态方法是类级的方法一样,静态构造函数是对类级别需要进行初始化的动作进行初试话的地方.
因为类级别的东西被初始化以后,就永远存在(程序关掉当然就没了)..所以初始化也只需要一次.也就是静态构造函数要么不执行,要么只会执行1次,不会有第2次(前提:同一应用程序域下)
回复
引用
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
静态构造函数
静态构造函数
静态属性和静态构造函数的相关问题
C#静态构造函数
静态构造函数的继承~
静态构造函数,结构。。。
相关链接:
所属分类的其他文章:
C#中的String类型
静态构造函数的理解
显示文章列表时同时显示作者的处理技巧
生成大小写字母加数字混合ID与自定义进制转换
用JS计算两个日期之间有多少个休息日
给Repeater的数据绑定添加智能感知
团队开时的解决方案建立技巧
理解事件的使用
照片生成缩略图时的尺寸计算
解决一个泛型转换的问题
最新IT新闻:
美国年轻人最喜欢的15大网站
2008年8月30日IT博客精选
《极品飞车12》最新真人照片、游戏截图
IBM正在开发超强性能4TB固态硬盘阵列
Microsoft F# CTP(2008年9月)
博客园新闻频道
博客园首页
社区