c# 属性

属性是一种用于访问对象或类的特性的成员,可以表示对象的某一组成部分或者特性。

属性提供了一种机制,它把读取和写入对象的某些特性与一些操作关联起来。

可以像使用公共数据成员一样使用属性,但实际上他们是称为"访问器"的一种特殊方法。

这使得数据在被轻松访问的同时,仍然能提供方法的安全性和灵活性。

属性不能作为ref参数或out参数传递.

属性具有以下特点:

  • 属性可以向程序添加元数据。元数据是嵌入程序中的信息,如编译器指令或数据描述.
  • 程序可以使用反射检查自己的元数据
  • 通常使用属性与COM交互.

属性以两种形式存在,一:是在公共语言运行库的基类库中定义的属性。另一种是自己创建,可以向代码中添加附加信息的自定义属性。

c# 属性_第1张图片

 Serialzable为.Net Framework类库中定义的属性.

自定义属性在类中是是通过以下方式声明的 :  指定属性的访问级别 , 后面是属性的类型,接下来是属性的名称,然后是声明get访问器和set访问器的代码模块.

访问修饰符  数据类型  属性名

{

           get

            {

                      return 变量名;

            }

             set

              {

                       变量名 = value;

              }


}

访问修饰符用来确定属性的可用范围, 

  • public : 不限制对该属性的访问.
  • protected  : 只能从其所在类和所在类的子类(派生类)进行访问.
  • intrenal  : 只有其所在类才能访问.
  • private  :  私有访问修饰符,只能在其声明类中使用.

get访问器与方法体相似,它必须返回属性类型的值.而set访问器类似于返回类型为void的方法,它使用称为value的隐式参数,此参数的类型是属性的类型.

  • 属性的使用为对象名.属性名
  •  如果要在其他类中调用自定义属性.必须将自定义的访问级别设置为public.
  • 如果属性为只读属性,不能在调用时为其赋值,否则产生异常。

 

你可能感兴趣的:(c#)