当前位置:首页 > 网络编程 > 软件语言 > .NET > C#中get和set访问器的解释

C#中get和set访问器的解释

点击次数:83 次 发布日期:2008-11-06 08:12:36 作者:源代码网
源代码网推荐
广告载入中

源代码网整理以下属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。访问器声明可以包含 get 访问器或 set 访问器,或者两者均包含。声明采用下列形式之一,
get {}

set {}

get 访问器
get 访问器体与方法体相似。它必须返回属性类型的值。执行 get 访问器相当于读取字段的值。以下是返回私有字段 name 的值的 get 访问器:

private string name;   // the name field
public string Name   // the Name property
{
get 
{
    return name; 
}
}
当引用属性时,除非该属性为赋值目标,否则将调用 get 访问器读取该属性的值。例如:

Employee e1 = new Employee();
...
Console.Write(e1.Name);   // The get accessor is invoked here
get 访问器必须在 return 或 throw 语句中终止,并且控制不能超出访问器体。

set 访问器
set 访问器与返回 void 的方法类似。它使用称为 value 的隐式参数,此参数的类型是属性的类型。在下例中,set 访问器被添加到 Name 属性:

public string Name 
{
get 

    return name; 
}
set 
{
    name = value; 
}
}
当对属性赋值时,用提供新值的参数调用 set 访问器。例如:

e1.Name = "Joe";   // The set accessor is invoked here
在 set 访问器中对局部变量声明使用隐式参数名 (value) 是错误的。

备注
属性按如下方式,根据所使用的访问器进行分类: 

只带有 get 访问器的属性称为只读属性。无法对只读属性赋值。 
只带有 set 访问器的属性称为只写属性。只写属性除作为赋值的目标外,无法对其进行引用。 


同时带有 get 和 set 访问器的属性为读写属性。 
在属性声明中,get 和 set 访问器都必须在属性体的内部声明。


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华