首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教readonly变量如何设置set属性

2013-08-16 
请问readonly变量怎么设置set属性?比如class Program{publicreadonly int apublic int A{get{return a}s

请问readonly变量怎么设置set属性?
比如
class Program
{
     public  readonly int a;

     public int A
     {
          get
          {
             return a;
           }  
          set
          {
             if(value<=0)
             a = value;
           }
      }
}

比如这样的一段代码,我想为这个readonly变量设置属性,不过readonly不是除了在构造函数以外无法赋值吗?
想请问一下,我应该怎么设置这样的属性,谢谢 readonly设置属性
[解决办法]

引用:
Quote: 引用:

你以上的代码在vs中编译后,会出现:无法对只读的字段赋值(构造函数或变量初始值指定项中除外)的错误。
很显然,作为只读的变量,不应该再set值,这是相互矛盾的。
那如果想设置范围应该怎么办?

在vs中,在public  readonly int a;后面,按ctrl+r+e,会有提示,你会发现vs自动生成的代码当中,只有get,没有set。readonly是只读的,不能修改的,它就是一个固定的值,为什么要设置范围呢?
[解决办法]
反射可破。
readonly 字段 是 initonly.使用反射可以不用限制在构造时候赋值

热点排行