首页 新闻 会员 周边

有一个类里面有一个只读属性,怎么把这个属性的只读设成可写的?

0
悬赏园豆:10 [待解决问题]

在别人的一个类里面有一个只读属性,我想要修改这个属性的值该怎么做???

问题补充:

这个字段是这样声明的:public readonly string str="abc";

ykreal的主页 ykreal | 初学一级 | 园豆:175
提问于:2011-09-14 09:45
< >
分享
所有回答(7)
0

既然别人设置成只读的那就是不想你去修改,首先要明白为啥要修改。

如果真的要修改,你可以将这个属性设置为public,dudu有篇文章可以参考 http://www.cnblogs.com/dudu/archive/2011/05/17/ildasm_ilasm_il.html

Jerry Chou | 园豆:2642 (老鸟四级) | 2011-09-14 09:58
0

使用修改get,set  ;get是读取属性时进行的操作,set是设置属性时进行的操作。定义一个属性如果只有get,这个属性就是只读的。只有set,属性就是只写的。get,set都定义 就可以进行读写。

xuebingz | 园豆:143 (初学一级) | 2011-09-14 10:35

那个属性的声明方式是这样的:public readonly string str="abc";

支持(0) 反对(0) ykreal | 园豆:175 (初学一级) | 2011-09-14 10:40

@ykreal:

你看看这个网页

http://www.cnblogs.com/Rouper/archive/2010/07/03/1770291.html

看有没有帮助

支持(0) 反对(0) xuebingz | 园豆:143 (初学一级) | 2011-09-14 11:53
0

一般有这样的想法的都是歪着来的

lawbc | 园豆:63 (初学一级) | 2011-09-14 11:43
0

别人的class,如果这个变量是private的(一般都是)且没提供setter, 就是不让别人去随意修改的。

vanzheng | 园豆:292 (菜鸟二级) | 2011-09-15 19:18
0

readonly 字段可以在声明或构造函数中初始化。在其他的自定义方法中不行,如果要修改可以重载构造函数,实现自定义的值。

参考:http://msdn.microsoft.com/zh-cn/library/acdd6hb7.aspx

还有比较相近的const关键字:const 字段只能在该字段的声明中初始化。一旦初始化,在程序运行中值就不能更改,构造函数中改也不行。

IceS | 园豆:197 (初学一级) | 2011-09-15 20:52
0

有源代码的话直接改成public

喬喬AI | 园豆:996 (小虾三级) | 2011-09-20 00:04
0

怎么没人能够解决呢

ykreal | 园豆:175 (初学一级) | 2011-11-07 09:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册