在c#.net中获取,设置和赋值关键字
这里的value
关键字是什么以及如何将值分配给_num
? 我很困惑,请给出以下代码的说明。
private int _num; public int num { get { return _num; } set { _num=value; } } public void button1_click(object sender,EventArgs e) { num = numericupdown.Value; }
在属性设置器的上下文中, value
关键字表示分配给属性的值。 它实际上是set
访问器的隐式参数,就好像它是这样声明的:
private int _num public int num { get { return _num; } set(int value) { _num=value; } }
属性访问器实际上是等效的方法:
public int get_num() { return _num; } public void set_num(int value) { _num = value; }
value关键字是一个上下文关键字 ,也就是说,它根据其上下文具有不同的含义。
在set
block中,它只是表示程序员将其设置为的值。 例如,
className.num = 5;
在这种情况下, value
将在set
块内等于5。 所以你可以写:
set { int temp = value; //temp = 5 if (temp == 5) //true { //do stuff } _num = value; }
在set
块之外,您可以使用value
作为变量标识符,如下所示:
int value = 5;
请注意,您不能在set
block中执行此操作。
附注:您应该将属性num
大写为Num
; 这是一个常见的惯例,使阅读课程的人更容易识别公共和私人财产。
Properties
是private field
或class variable
READ,WRITE或COMPUTE值的方式。 当代码将值分配给private field
或(类) variable
时,将使用property
内的set
或setter
。 value
关键字意味着“正在分配的东西”。
public class StaffMember { private int ageValue; public int Age { set { if ( (value > 0) && (value < 120) ) { this.ageValue = value; } } get { return this.ageValue; } } } //Rob Miles - C# Programming Yellow Book