[英]get,set and value keyword in 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.