访问修饰符:

private: 私有成员,在类的内部才可以访问

protected: 受保护的成员,该类内部和继承类的内部可以访问

public: 公共成员, 完全公开, 没有访问限制

internal:  当前程序集内可以访问

1.0字段的定义:

访问修饰符  数据类型   字段名称;    如  public  string   name;

2.0属性的定义:

访问修饰符  数据类型  属性名称{get; set;}

        public string Name { get; set; }    //该属性可读可写

        public string Email { get; }    //该属性是只读属性    属性中只有get块而没有set块, 那么只能取这个属性的值 而不能为这个属性赋值.

        public bool Gender { set; }    //该属性表示是 只写属性   属性中只有set块而没有get块.  那么只能为这个属性赋值. 而不能取这个属性的值.

3.0属性和字段有啥关系呢?

         /* 1. 为什么要保护字段?
         *    因为我们希望在为字段赋值或者取值的时候做1个逻辑验证.
         *
         * 2. 微软提供了一种更为简洁的语法来保护字段---属性.
         *    属性的作用: 保护字段.
         *
         * 3. 如何使用属性来保护字段呢?
         *    a.  被保护的字段一定要私有化.
         *    b.  为这个字段写1个属性
         *        语法:
         *        访问修饰符 属性的类型 属性的名称
         *        {
         *              get
         *              {
         *              }
         *              set
         *              {
         *              }
         *        }
         *
         * 4. 外部如何操作属性.
         *    a. 图标为扳手的就代表属性.
         *    b. 外部操作的时候将属性当做字段来操作,使用赋值符号直接赋值或者直接写上属性的名称取值.
         *
         * 5. 属性到底是如何来保护字段的
         *    a. 为属性赋值的时候,会调用属性中的set代码块. 在set中可以通过关键字value拿到用户为属性赋的值
         *       一般情况下,我们在set代码块中 取出用户为属性赋的值(value) 做逻辑验证.
         *       如果符合逻辑 就将用户赋的值赋值给被保护的字段.
         *       否则做默认处理.
         *
         *    b. 当我们取属性的值的时候,就会执行属性中的get代码块的内容.
         *       最终取到的值,是在get块中return回去的值.
         *       一般情况下,我们在get代码块中 将属性保护的字段的值返回.
         */
         

4.0 属性的本质

属性的本质是1个get方法和1个set方法.
只不过微软提供了1种更为简洁的方式来帮助写这两个方法
我们之所以可以再set里面通过value关键字取到用户赋的值 是因为set本质是1个方法 这个方法的参数叫做value

暂未提供反编译的截图

C#基础--属性 字段的更多相关文章

  1. geotrellis使用(十一)实现空间数据库栅格化以及根据属性字段进行赋值

    Geotrellis系列文章链接地址http://www.cnblogs.com/shoufengwei/p/5619419.html 目录 前言 安装空间数据库 空间数据库栅格化 根据属性字段进行赋 ...

  2. ArcMap10.1修改要素属性字段

    ArcMap10.1修改要素属性字段 问题描述:在ArcMap10.1中编辑要素属性表时,遇到输入字段值的长度超过字段最大长度时,ArcMap会抛出“基础DBMS错误[ORA-12899:value ...

  3. [ArcGIS API for JavaScript 4.8] Sample Code-Popups-1-popupTemplate的概念和popup中属性字段值的多种表现形式

    [官方文档:https://developers.arcgis.com/javascript/latest/sample-code/intro-popuptemplate/index.html] 一. ...

  4. Qt+QGIS二次开发:自定义类实现查询矢量数据的属性字段值(图查属性)

    在GIS领域,有两种重要的查询操作,图查属性和属性查图. 本文主要介绍如何在QGIS中通过从QgsMapToolIdentify中派生自定义类实现查询矢量数据的属性字段值(图查属性). 重点参考资料: ...

  5. Silverlight实例教程 - Validation数据验证基础属性和事件(转载)

    Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...

  6. [源码]Literacy 快速反射读写对象属性,字段

    Literacy 说明 Literacy使用IL指令生成方法委托,性能方面,在调用次数达到一定量的时候比反射高很多 当然,用IL指令生成一个方法也是有时间消耗的,所以在只使用一次或少数几次的情况,不但 ...

  7. 玩转动态编译 - 高级篇:二,IL设置静态属性,字段和类型转换

    静态属性赋值 先来看 Reflector反射出的IL源码(感谢Moen的提示),这次用 Release模式编译,去掉那些无用的辅助指令 public void AAA(string s) { MyCl ...

  8. BizTalk开发系列(五) 属性字段

    在根据消息内容进行路由的时候经常使用的是可分辨字段和属性字段.属性字段可以在各个 BizTalk Server 组件(包括管道和业务流程)中进行访问.属性字段还可用于消息路由.如果需要在上下文(而不是 ...

  9. Unity UGUI——Rect Transform组件(基础属性)

    基础属性:Width.Height.Pivot图示 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXJfQUhhbw==/font/5a6L5L2T/fo ...

随机推荐

  1. mysql 全文查找fulltext

    从 Mysql 4.0 开始就支持全文索引功能,但是 Mysql 默认的最小索引长度是 4.如果是英文默认值是比较合理的,但是中文绝大部分词都是2个字符,这就导致小于4个字的词都不能被索引,全文索引功 ...

  2. HTML5每日一练之figure新标签的应用

    igure元素是一种元素的组合,可带有标题(可选).figure标签用来表示网页上一块独立的内容,将其从网页上移除后不会对网页上的其他内容产生影响.figure所表示的内容可以是图片.统计图或代码示例 ...

  3. TCP三次握手及四次挥手详细图解(未完)

    TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: (完成三次握手,客户端与服务器开始传送数据) 所谓三次握手(Three-way Handshake),是指建立一 ...

  4. JS、OnClientClick、OnClick

    OnClientClick是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在浏览器端运行,一点击就运行: OnClick是服务器端事件处理方法,在服务器端也就是IIS中运行,点 ...

  5. oradmin相关用法

    [转]oradmin相关用法 创建例程: -NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文 ...

  6. 关于dll的路径问题

    最近在做一个sdk二次开发的项目,具体是将一个C++开发的SDk用C#将它的API接口全部封装一遍,然后再做一个demo就好了 好不容易封装完了,在使用的时候出了问题.原来SDK中的dll老是加载不到 ...

  7. StringBuffer与StringBuilder的异同

    一. 相同之处        1.均是可变字符序列,可以随机的改变字符串,如追加操作或插入操作 2. 均使用了内部缓冲区,并且当内部缓冲区溢出后均会自动增大 二. 不同之处       1. Stri ...

  8. Web服务器与Web系统发布

    在讨论Web系统发布之前,我们先来辨析两个概念:服务器.Web服务器. 通常,我们说的服务器,是一台提供服务的计算机,是硬件概念.这台主机有其IP地址,有服务端口,我们要访问时,就是通过IP地址唯一地 ...

  9. fastreport for .net 数据邦定

    C# Code: private void button4_Click(object sender, EventArgs e){   //打印主从表数据    string file = Applic ...

  10. C#自定义控件背景色透明的方法

    I struggled for ages with the problem of having controls show through a control that was painted on ...