C#-类 字段 属性 方法 特性
2024-08-31 13:45:49
方法的签名
包括参数个数、参数类型、方法返回值
base和this关键字
1.使用base关键字,就可以使用父类中的字段、属性、方法
2.一旦父类中存在有参数的构造函数,那么子类就必须使用base来覆盖父类中的构造函数,base取的父类中参数最多的构造函数
构造函数
不同的参数会使用不同的构造函数
类的属性 GET、SET
public string Name { get; }
上一段的意思是:仅仅声明GET取值函数,能在构造函数中设置函数内部的变量,GET只是针对类外部对类的访问限制使用的,在类的内部,对Name是没有限制的,赋值和使用都是可行的,但通常类的内部仅使用内部变量,防止程序意外出错
部分类
只能使用同一种修饰符,其中一类为public,其他类也必须为public。如果其中一个类为抽象类,那合并后整个类都将被视为抽象类,其中一个类为密封类,那合并后整个类都将视为密封类
类型安全
如果两个类型或对象,类型不一样,也不存在继承关系,就不能相互转换
属性
特点:不占内存空间
因为一定要和私有字段配合使用,建立对象后,外部实际上是通过属性调用类内部的字段,这是编译器对属性的特殊处理,为的就是让属性可以灵活的控制输入和输出的字段值,通过属性这种特殊的方法
Readonly
此关键字定义的字段,只能在初始化或者构造函数中赋值
重要问题
只能在类中声明public protected private等字段属性
public static readonly man ss = new man("spike"); // 用readonly声明一个类
public readonly string s = "spike"; // 用readonly声明一个字段
private string SqlConnString => SqlHelper.GetConnSting(); /// VS2015才能用,这两句话是等同的,=>简写了一个readonly
- private readonly string SqlConnString => SqlHelper.GetConnSting();
特性
[logAction(ActionMessage="this is Message")];
public class logAction :ActionFilterAttribute
{
public string ActionMessage { get; set; }
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
filterContext.HttpContext.Response.Write("ActionExecuted"+ActionMessage);
base.OnActionExecuted(filterContext);
}
}
为什么在controller里面写这个特性[logAction(ActionMessage="this is Message")];会把特性中的方法都执行呢?
我的理解:这个不是执行,是加载,既然logAction(ActionMessage="this is xxx")可以实现类的赋值,那么说明已经声明了这个类的对象了,继而说明类中的方法已经动态加载到内存中,实现了方法的负载,这应该就是特性在ASP.NET中的应用
附件列表
最新文章
- python学习之day1-基础知识
- Struts2文件上传,以及各种注意事项
- 【PHP面向对象(OOP)编程入门教程】15.static和const关键字的使用(self::)
- iOS之多控制器管理--项目中的常见文件
- 【Python】Django 时间字段 最佳实践
- 2认识HTML中的“ML”:深入理解超文本
- ios-NSStringFromCGRect直接输出控件的frame
- Intellij 导入play framework 项目
- 这样就算会了PHP么?-2
- linux date -d 的一些使用方法
- XML的几种转换
- Android串口通信(Android Studio)
- docker 中打包部署Springboot项目
- php1
- 认识EasyUI——DataGrid的onClickRow事件
- C# 多线程调用静态方法或者静态实例中的同一个方法-方法内部的变量是线程安全的
- Go 初体验 - 令人惊叹的语法 - defer.4 - defer 对宿主函数返回值的影响
- 理解 DocumentFragment
- 【C#】 Method invocation is skipped
- 【359】scikit learn 官方帮助文档