属性(C# 编程指南)
2008-03-01 07:02
218 查看
属性是这样的成员:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称为“访问器”的特殊方法。这使得数据在可被轻松访问的同时,仍能提供方法的安全性和灵活性。
在本示例中,类 TimePeriod 存储了一个时间段。类内部以秒为单位存储时间,但提供一个称为 Hours 的属性,它允许客户端指定以小时为单位的时间。Hours 属性的访问器执行小时和秒之间的转换。
输出
Time in hours: 24
属性概述
属性使类能够以一种公开的方法获取和设置值,同时隐藏实现或验证代码。
get 属性访问器用于返回属性值,而 set 访问器用于分配新值。这些访问器可以有不同的访问级别。有关更多信息value 关键字用于定义由 set 索引器分配的值。
不实现 set 方法的属性是只读的。
在本示例中,类 TimePeriod 存储了一个时间段。类内部以秒为单位存储时间,但提供一个称为 Hours 的属性,它允许客户端指定以小时为单位的时间。Hours 属性的访问器执行小时和秒之间的转换。
class TimePeriod { private double seconds; public double Hours { get { return seconds / 3600; } set { seconds = value * 3600; } } } class Program { static void Main() { TimePeriod t = new TimePeriod(); // Assigning the Hours property causes the 'set' accessor to be called. t.Hours = 24; // Evaluating the Hours property causes the 'get' accessor to be called. System.Console.WriteLine("Time in hours: " + t.Hours); } }
输出
Time in hours: 24
属性概述
属性使类能够以一种公开的方法获取和设置值,同时隐藏实现或验证代码。
get 属性访问器用于返回属性值,而 set 访问器用于分配新值。这些访问器可以有不同的访问级别。有关更多信息value 关键字用于定义由 set 索引器分配的值。
不实现 set 方法的属性是只读的。
相关文章推荐
- 属性(C# 编程指南)
- 属性和索引器之间的比较(C# 编程指南)【msdn】
- 使用属性(C# 编程指南)
- 属性和索引器之间的比较(C# 编程指南)
- 接口属性(C# 编程指南)
- 如何:定义抽象属性(C# 编程指南)
- 使用属性(C# 编程指南)
- 自动实现的属性(C# 编程指南)(摘自MSDN)
- 如何:声明和使用读/写属性(C# 编程指南)
- C#编程指南:使用属性
- 索引器和属性(C# 编程指南)
- 属性和索引器之间的比较(C# 编程指南)
- 使用委托(C# 编程指南)
- 泛型方法(C# 编程指南)
- C# Window编程随记——C#反射技术的简单操作(读取和设置类的属性)
- 委托(C# 编程指南)
- 命名方法(C# 编程指南)
- 如何:发布符合 .NET Framework 准则的事件(C# 编程指南)
- 泛型代码中的默认关键字(C# 编程指南)
- 如何:声明、实例化和使用委托(C# 编程指南)