8.7.4 Properties
A property is a member that provides access to a characteristic of an object
or a class. Examples of
properties include the length of a string, the size of a font, the caption
of a window, the name of a customer,
and so on. Properties are a natural extension of fields. Both are named
members with associated types, and
the syntax for accessing fields and properties is the same. However, unlike
fields, properties do not denote
storage locations. Instead, properties have accessors that specify the
statements to be executed when their
values are read or written.
Properties are defined with property declarations. The first part of a
property declaration looks quite similar
to a field declaration. The second part includes a get accessor and/or a
set accessor. In the example below,
the Button class defines a Caption property.
public class Button
{
private string caption;
public string Caption {
get {
return caption;
}
set {
caption = value;
Repaint();
}
}
.
}
Properties that can be both read and written, such as Caption, include both
get and set accessors. The get
accessor is called when the property.s value is read; the set accessor is
called when the property.s value is
written. In a set accessor, the new value for the property is made
available via an implicit parameter named
value.
The declaration of properties is relatively straightforward, but the real
value of properties is seen when they
are used. For example, the Caption property can be read and written in the
same way that fields can be read
and written:
C# LANGUAGE SPECIFICATION
36
Button b = new Button();
b.Caption = "ABC"; // set; causes repaint
string s = b.Caption; // get
b.Caption += "DEF"; // get & set; causes repaint
A property is a member that provides access to a characteristic of an object
or a class. Examples of
properties include the length of a string, the size of a font, the caption
of a window, the name of a customer,
and so on. Properties are a natural extension of fields. Both are named
members with associated types, and
the syntax for accessing fields and properties is the same. However, unlike
fields, properties do not denote
storage locations. Instead, properties have accessors that specify the
statements to be executed when their
values are read or written.
Properties are defined with property declarations. The first part of a
property declaration looks quite similar
to a field declaration. The second part includes a get accessor and/or a
set accessor. In the example below,
the Button class defines a Caption property.
public class Button
{
private string caption;
public string Caption {
get {
return caption;
}
set {
caption = value;
Repaint();
}
}
.
}
Properties that can be both read and written, such as Caption, include both
get and set accessors. The get
accessor is called when the property.s value is read; the set accessor is
called when the property.s value is
written. In a set accessor, the new value for the property is made
available via an implicit parameter named
value.
The declaration of properties is relatively straightforward, but the real
value of properties is seen when they
are used. For example, the Caption property can be read and written in the
same way that fields can be read
and written:
C# LANGUAGE SPECIFICATION
36
Button b = new Button();
b.Caption = "ABC"; // set; causes repaint
string s = b.Caption; // get
b.Caption += "DEF"; // get & set; causes repaint
本文介绍了C#中属性(Properties)的概念,属性是提供对对象或类特征访问的成员,是字段的自然扩展。属性通过属性声明定义,包含get和/或set访问器。以Button类的Caption属性为例,展示了属性的读写操作,其使用方式与字段类似。
1648

被折叠的 条评论
为什么被折叠?



