zoukankan      html  css  js  c++  java
  • C#中,域和属性有什么区别

    域(Field),就是字段。

    字段是可读也可写的,但是属性却可以设置为只读。属性的实质是方法(Method)。

    属性(property)是字段的自然扩展,两者都是具有关联类型的命名成员,而且访问字段和属性的语法是相同的。然而,属性与字段不同,不表示存储位置。相反,属性有访问器(accessor),这些访问器指定在它们的值被读取或写入时需执行的语句。  
      属性的声明类似于字段,不同之处在于属性的声明以定界符{}之间的get访问器和/或set访问器结束,而不是分号。同时包含get访问器和set访问器的属性称为读写属性(read-write   property)。只具有get访问器的属性称为只读属性(read-only   property)。只具有set访问器的属性称为只写属性(write-only   property)。  
      get访问器相当于一个具有属性类型返回值的无参数方法。除了作为赋值的目标外,当在表达式中引用属性时,会调用该属性的get访问器以计算该属性的值。  
      set访问器相当于一个具有单个名为value的参数和无返回类型的方法。当一个属性作为赋值的目标,或者作为++或--运算符的操作数被引用时,就会调用set访问器,所传递的自变量将提供新值。  
      List类声明了两个属性Count和Capacity,依次是只读和只写的。下面是使用这些属性的示例:  
      List   names   =   new   List();  
      names.Capacity   =   100;                     //调用set访问器  
      int   i   =   names.Count;                       //调用get访问器  
      int   j   =   names.Capacity;               //调用get访问器  
      与字段和方法类似,对于实例属性和静态属性,C#两者都支持。静态属性是声明中具有static修饰符,而实例属性则没有。  
      属性的访问器可以是虚拟的。当属性声明中包含virtual,abstract,override修饰符时,它们将运用到属性访问器。
  • 相关阅读:
    PostgreSQL安装的后续工作
    进程在Linux上实际需要多少内存
    PostgreSQL的大对象以及空间使用 (3)
    PostgreSQL的大对象以及空间使用 (2)
    PostgreSQL的大对象以及空间使用 (1)
    PostgreSQL的WAL(4)--WAL创建和调优
    Cannot set Column 'EffectiveDate' to be null. Please use DBNull instead.
    除去datatable的空行
    sql like in 语句获取以逗号分割的字段内的数据
    el-cascader 设置选中任意一级
  • 原文地址:https://www.cnblogs.com/rookiebob/p/3749403.html
Copyright © 2011-2022 走看看