c#属性详解
1.先看入门实例
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(); t.Hours = 24; System.Console.WriteLine("Time in hours: " + t.Hours); } } //输出结果: Time in hours: 24
在上面实例中先声明了属性,之后访问属性,下面是图解

上面实例中可以看到,属性的访问和字段没有区别,但是属性的声明有一些像方法声明。
这个什么原因呢?按照我个人的理解,微软出来属性这样的成员,是字段和方法的一个过渡,它就是没有参数的方法,
归根到底就是函数成员中的一种(请注意方法和函数成员是不同的,后面文章我会更新)
2.属性的声明

在上图上我们可以看出 图中标上1,2,3处和函数成员没有区别,而和函数成员的最大区别有两点
1.无参数
既然没有参数,要调用它如何传递给它呢?看下图

看样子调用属性本身时候,直接用它的属性名t.Hours,里面的语句调用直接用value来代替
2.{}里面的语句
显然里面的语句和其他有一些不同,这个时候c#中微软定义了访问器,按照微软的规定,一个属性的访问器不同,
可能产生三种情况
情况一: 可读属性
{}里面只有 get{......}语句的属性
情况二:可写属性
{}里面只有 set{......}语句的属性
情况三:读写属性
{}里面同时有 get{......} 和 set{......}语句的属性
先写到这里吧! 后续我会更新

浙公网安备 33010602011771号