方法的签名
包括参数个数、参数类型、方法返回值



base和this关键字
1.使用base关键字,就可以使用父类中的字段、属性、方法
2.一旦父类中存在有参数的构造函数,那么子类就必须使用base来覆盖父类中的构造函数,base取的父类中参数最多的构造函数

构造函数
不同的参数会使用不同的构造函数

类的属性  GET、SET

public string Name { get; }

上一段的意思是:仅仅声明GET取值函数,能在构造函数中设置函数内部的变量,GET只是针对类外部对类的访问限制使用的,在类的内部,对Name是没有限制的,赋值和使用都是可行的,但通常类的内部仅使用内部变量,防止程序意外出错

部分类

只能使用同一种修饰符,其中一类为public,其他类也必须为public。如果其中一个类为抽象类,那合并后整个类都将被视为抽象类,其中一个类为密封类,那合并后整个类都将视为密封类

类型安全

如果两个类型或对象,类型不一样,也不存在继承关系,就不能相互转换

属性

特点:不占内存空间

因为一定要和私有字段配合使用,建立对象后,外部实际上是通过属性调用类内部的字段,这是编译器对属性的特殊处理,为的就是让属性可以灵活的控制输入和输出的字段值,通过属性这种特殊的方法

Readonly

此关键字定义的字段,只能在初始化或者构造函数中赋值

重要问题

只能在类中声明public protected private等字段属性

  1. public static readonly man ss = new man("spike"); // 用readonly声明一个类
  1. public readonly string s = "spike"; // 用readonly声明一个字段
  1. private string SqlConnString => SqlHelper.GetConnSting(); /// VS2015才能用,这两句话是等同的,=>简写了一个readonly
  2. private readonly string SqlConnString => SqlHelper.GetConnSting();

特性
  1. [logAction(ActionMessage="this is Message")];
  1. public class logAction :ActionFilterAttribute
  2. {
  3. public string ActionMessage { get; set; }
  4. public override void OnActionExecuted(ActionExecutedContext filterContext)
  5. {
  6. filterContext.HttpContext.Response.Write("ActionExecuted"+ActionMessage);
  7. base.OnActionExecuted(filterContext);
  8. }
  9. }
为什么在controller里面写这个特性[logAction(ActionMessage="this is Message")];会把特性中的方法都执行呢?

我的理解:这个不是执行,是加载,既然logAction(ActionMessage="this is xxx")可以实现类的赋值,那么说明已经声明了这个类的对象了,继而说明类中的方法已经动态加载到内存中,实现了方法的负载,这应该就是特性在ASP.NET中的应用

C#-类 字段 属性 方法 特性的更多相关文章

  1. c#基础3-方法的重载静态和非静态,字段属性,方法

    方法的重载概念:方法的重载指的就是方法的名称相同给,但是参数不同.参数不同,分为两种情况1).如果参数的个数相同,那么参数的类型就不能相同.2).如果参数的类型相同,那么参数的个数就不能相同.***方 ...

  2. Delphi中TStringList类常用属性方法详解

    TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 先把要讨论的几个属性列出来: 1.CommaText 2.Delim ...

  3. day 1类 对象 属性 方法

    1. 解决吃啤酒鸭的问题 第一种方式(面向过程): 1)养鸭子 2)鸭子长成 3)杀 4)作料 5)烹饪 6)吃 7)卒 第二种方式(面向对象): 1)找个卖啤酒鸭的人 2)给钱 交易 3)吃 4)胖 ...

  4. java-通过反射获取目标类的属性,方法,构造器

    首先定义一个urse package com.studay_fanshe; public class User { private String uname; private int age; pri ...

  5. 【delphi】TStringList类常用属性方法详解

    TStringList 常用方法与属性 var List: TStringList; i: Integer; begin List := TStringList.Create; List.Add('S ...

  6. c#自定义ORM框架---(泛型&反射&实体类扩展属性<附带通用增、删、查、改>)

    该教材主要是运用到泛型.反射和实体类扩展属性 步骤一.建立扩展属性类 实体类扩展属性要继承Attribute基类完成 [AttributeUsage(AttributeTargets.Property ...

  7. iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值

    在上篇博客<iOS开发之使用Runtime给Model类赋值>中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property ...

  8. Java基础知识强化85:System类之arraycopy()方法(数组拷贝)

    1. arraycopy方法(数组拷贝) public static void arraycopy(object src,int srcPos,Object dest,int destPos, int ...

  9. Java基础知识强化83:System类之gc()方法(垃圾回收)以及和finalize()区别

    1. System概述: System类包含一些有用的类字段和方法.它不能被实例化. 2. gc()方法:垃圾回收器 public static void gc()       调用gc方法暗示着Ja ...

随机推荐

  1. 普通页面使用vue.js心得

    在写本文之前要问自己几个问题,来说明为什么要这么做: 为什么在html中使用vue.js? vue.js已经趋于成熟,个人感觉比jquery要好用的多,但是在node环境下使用vue.js不用使用SS ...

  2. Shell(三)流程控制

    Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { ...

  3. ios 人魔七七

    http://www.cnblogs.com/qiqibo/category/533488.html

  4. struts2解决动态多文件上传的问题(上传文件与数据库字段一一对应)(转)

    struts2多文件上传我想只要会用struts2的朋友都不会陌生,但是怎么在action中根据用户上传的文 件把文件路径写到数据库中对应的字段上呢?ps:我的意思是这样,页面上有固定的5个上传文件的 ...

  5. [CSS3] Image Width with sizes (srcset & sizes)

    What if the image won't be displayed at the full viewport width? Then you need something more than s ...

  6. weblogic部署struts2项目訪问action404错误

    近期有个project部署到tomcat上是正常的,部署到weblogic上时訪问action报404错误.依据报错日志.在网上找到了原因例如以下: 部署到weblogic上.struts.xml配置 ...

  7. 怎样获取ios设备的唯一标识

    非常多地方都会须要用到唯一标志. 比方: 1. 我们相用一个设备的唯一标志当作用户id,特别是网络游戏,这样就能够省去注冊的麻烦. 2. 想把app相关的文件加密,密钥哪里来的?有些人可能会说hard ...

  8. Linux 设备文件的创建和mdev

    引子 本文是嵌入式企鹅圈开篇--<linux字符设备驱动剖析>的姐妹篇,在上述文章里面我们具体描写叙述了字符设备驱动框架涉及的驱动注冊.通过设备文件来訪问驱动等知识.并明白通过device ...

  9. [JZOJ 5909] [NOIP2018模拟10.16] 跑商(paoshang) 解题报告 (圆方树)

    题目链接: https://jzoj.net/senior/#contest/show/2529/2 题目: 题目背景:尊者神高达很穷,所以他需要跑商来赚钱题目描述:基三的地图可以看做 n 个城市,m ...

  10. [hihocoder #1384] Genius ACM 解题报告(倍增)

    题目链接:http://hihocoder.com/problemset/problem/1384 题目大意: 给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下: 从集合 S 中取出 M ...