readonly关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。在此示例中,字段 year 的值无法在 ChangeYear 方法中更改,即使在类构造函数中给它赋了值。

解决方案 »

  1.   

    http://www.cnblogs.com/oec2003/archive/2009/06/22/1508051.html
      

  2.   

    readonly关建字标识为只读了,防止在其它地方被改动
    只能在声明时或是构造函数中赋值
      

  3.   

    呵呵,挺有意思的一段代码事实上,这里的documentQueue只是一个内存地址,它指向一个Queue<TDocument>队列的实例
    readonly只是锁定了documentQueue所引用的内存地址在类初始化后不能被改变,而队列实例本身是没有操作限制
      

  4.   

    使用了readonly,下面这段代码还有用吗?public void AddDocument(TDocument doc) 
            { 
                lock (this) 
                { 
                    documentQueue.Enqueue(doc); 
                } 
            } 
      

  5.   

    readonly仅仅声明对象本身只读,并无其他限制...也就是说,除了不能在构造函数之外对对象本身赋值,对对象的成员没有任何影响...
      

  6.   

    指的是引用是readonly的,也就是不能传给他另外一个队列对象。至于队列内部的添加删除,则没有问题。