这里为什么要用readonly? readonly关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。在此示例中,字段 year 的值无法在 ChangeYear 方法中更改,即使在类构造函数中给它赋了值。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/oec2003/archive/2009/06/22/1508051.html readonly关建字标识为只读了,防止在其它地方被改动只能在声明时或是构造函数中赋值 呵呵,挺有意思的一段代码事实上,这里的documentQueue只是一个内存地址,它指向一个Queue<TDocument>队列的实例readonly只是锁定了documentQueue所引用的内存地址在类初始化后不能被改变,而队列实例本身是没有操作限制 使用了readonly,下面这段代码还有用吗?public void AddDocument(TDocument doc) { lock (this) { documentQueue.Enqueue(doc); } } readonly仅仅声明对象本身只读,并无其他限制...也就是说,除了不能在构造函数之外对对象本身赋值,对对象的成员没有任何影响... 指的是引用是readonly的,也就是不能传给他另外一个队列对象。至于队列内部的添加删除,则没有问题。 获得悬浮窗离屏幕上边界和右边界的距离 windows service可以像逻辑层组件一样暴露其接口供表示层调用? 关于DES加密算法 office2007 Word 标题自动编号问题 Winform怎么实现word中的字体样式和大小的改变 这个应该怎么实现,属于分布式应用问题么? 请问PB能否使用C#写的DLL或者COM组件 如何获取本机的数据源名称? 求c#.net源码 datagrid中绑定dataset,点del键删除最后一行(空白行的上一行,有数字的最后一行)时,出现了错误“未将对象的引用设置到对象的实例”, 一个WinForm窗体执行Invoke的问题 Form中实时画线问题
只能在声明时或是构造函数中赋值
readonly只是锁定了documentQueue所引用的内存地址在类初始化后不能被改变,而队列实例本身是没有操作限制
{
lock (this)
{
documentQueue.Enqueue(doc);
}
}