首页 > 代码库 > C#中的属性————只谈属性
C#中的属性————只谈属性
废话少说直接一剑封喉--属性是对私有字段的保护(其实是对私有字段引用的另外一种变相公开化),属性在没有任何操作的时候是无法看出其优势来,上例子
// Field used by property.
private int myInt;
// Property.
public int MyIntProp
{
get
{
return myInt;
}
set
{
myInt = value;
}
}
这个属性就是直接访问myInt,他是私有的如果外部访问的话得通过公共的属性public int MyIntProp,有人说了,为什么这么麻烦,回答有两部分;一:因为这个myInt是私有的,是这个类的,不想被别的类任意更改
二 当然你既然定义了这个字段,哪肯定是要被使用的,但是我们希望使用这个是有条件的,也就是不是谁都可以更改的。这时候就显现出来属性的强大来了,上例子,只上SET例子
set
{
if (value >= 0 && value <= 10)
myInt = value;
}
这个就是在属性中设置了限制,也就是属性的真正意义,
说在最后的,微软基于统一的考虑,所有的属性都是这么设置的,所以就有了myInt = value; 我自己的理解(纯粹自己瞎理解)这个属性也是方法的一部分,方法就是提供给外部使用的,只是他的名字叫属性罢了
C#中的属性————只谈属性
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。