当前位置: 编程技术>.net/c#/asp.net
C#学习笔记之定义类的属性
来源: 互联网 发布时间:2014-08-30
本文导语: 一、定义属性 1.属性拥有两个类似于函数的代码块,一个用于获取属性的值(get),一个用于设置属性的值(set),这两个块也称为访问器,可以用于控制对属性的访问级别。 2.属性至少要包含一个块才是有效的,可以忽略...
一、定义属性
1.属性拥有两个类似于函数的代码块,一个用于获取属性的值(get),一个用于设置属性的值(set),这两个块也称为访问器,可以用于控制对属性的访问级别。
2.属性至少要包含一个块才是有效的,可以忽略其中一个来创建只读(只有get块)或只写(只有set块)属性。当然,这仅适用于外部代码,因为类中的代码可以访问这些块能访问的数据。
3.可以在访问器上包含可访问关键字,如使get块变成公共的,把set块变成受保护的。
4.属性的基本结构包括标准的要可访问关键字(public、private等)后跟类名、属性名和get块/set块,语法:
public int MyIntProp
{
get {}
set {}
}
{
get {}
set {}
}
注:定义属性的第一行非常类似于定义字段,区别是行末没有分号。
5.get块必须有一个属性类型的返回值。简单的属性一般与一个私有字段相关联,以控制对这个字段的访问,此时get块可以直接返回该字段的值。
如:
private int myInt; //定义字段
public int MyIntProp //定义属性
{
get{ return myInt; }
}
public int MyIntProp //定义属性
{
get{ return myInt; }
}
6.set块以类似的方式把一个值赋给字段,这里可以使用关键字value引用用户提供的属性值,并可以对value进行判断等**作。
如:
private int myInt; //定义字段
public int MyIntProp //定义属性
{
get{ return myInt; }
set{ if (value >= 0 && value = 0 && value
public int MyIntProp //定义属性
{
get{ return myInt; }
set{ if (value >= 0 && value = 0 && value