首页 新闻 会员 周边

C# set访问器

0
[待解决问题]

set访问器的value值到底是怎么回事,在字段和属性有关联的情况下,set是不是就相当于写入的操作???
private string _name;
public string Name
{
get{return _name;}
//赋值语句不是把右边的赋给左边!
//写入操作不应该是把属性的值赋给字段吗?
//怎么把字段的值赋给了value???
set{_name=value;}
}

求set访问器的原理!!!

功夫之我玩的主页 功夫之我玩 | 菜鸟二级 | 园豆:220
提问于:2018-02-02 12:03
< >
分享
所有回答(4)
0

从右往左。

set可用理解为:

public void Name_Set(string value){

_name=vlaue;

}

czd890 | 园豆:14412 (专家六级) | 2018-02-02 12:12
0

你在说什么?

属性是2个方法,方法不是值.方法有返回值.

吴瑞祥 | 园豆:29449 (高人七级) | 2018-02-02 12:12
0

value是C#语言的 局部关键字,只在属性访问器内部做关键字用,用于表示属性访问器中set方法的参数

public string Name

{

     get{return _name ; }

     set {_name = value ;}

}

等价于

public string get_name()

{

   return _name;

加上

public void set_name(string value )

{

     _name = value;

}

西漠以西 | 园豆:1675 (小虾三级) | 2018-02-02 15:24

谢谢了🙏

支持(0) 反对(0) 功夫之我玩 | 园豆:220 (菜鸟二级) | 2018-02-02 21:29
0

说明你对底层还不了解,建议你看下属性被cli编译后的代码,你就清楚了,value实际就是一个入参的值,get set会被编译成2个方法

mayb | 园豆:204 (菜鸟二级) | 2018-02-03 11:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册