博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#编程(十三)----------方法重载
阅读量:6063 次
发布时间:2019-06-20

本文共 752 字,大约阅读时间需要 2 分钟。

C#支持方法的重载---方法的几个版本有不同的签名即可(即,方法名相同,但是参数个数和/或类型不同).为了冲在方法,只需要声明同名单参数个数或类型不同的方法即可.

注意:两个方法不能仅在返回类型上有区别.

两个方法不能仅根据声明为ref还是out来区分.

 

属性的概念是:以个方法货一堆属性,在客户端代码看来,他们是一个字段.属性就是用来对字段进行赋值或取值的.

例如

class Person

        {

            private string _name;//字段

 

            public string Name//属性

            {

                get { return name; }

                set { name = value; }

            }

 

        }

 

get访问器不带任何参数,且必须返回属性声明的类型.也不应为set访问器指定任何显示参数.但是编译器嘉定它带有一个参数,其类型也与属性相同,并表示为value.

注意到这里命名规范了吗?

 

只读和只写属性

在属性定义中省略set访问器就是只读属性,省略get访问器就是只写属性.

 

虽然属性可以设置修饰符,但是一般不这么用.

自动属性.

public int Age

{

get;

set;

}

不需要声明private int _age,编译器会自动创建他.使用自动实现的属性,就不能再属性设置中验证属性的有效性,所以在自动属性 public int Age{get;set;}中,不能检验是否设置了无效的年龄.但必须有两个访问器.尝试把该属性设置为只读属性,就会出错.

public int Age{get;}

但是,每个访问器的访问级别可以不同.所以下面的代码是合法的

public int Age{get;private set;}

 我们无法使用像 C++中inline这样的关键字来控制哪些方法是内联的。

转载地址:http://dilrx.baihongyu.com/

你可能感兴趣的文章
asp:HyperLink中 Eval要用string.Format绑定
查看>>
常见数据库端口号
查看>>
Concurrent Request:Inactive phase,No Manager status
查看>>
查看linux版本号的几种方法
查看>>
[转]MyBatis传入多个参数的问题 - mingyue1818
查看>>
Meteor 加入账户系统
查看>>
iOS可持续化集成: Jenkins + bundler + cocoapods + shenzhen + fastlane + pgyer
查看>>
计算几位学生的平均分
查看>>
Python黑客编程2 入门demo--zip暴力破解
查看>>
必看 :大数据挖掘中易犯的11大错误
查看>>
宿主系统为Ubuntu 14,CentOS 6.5 安装VirtualBox增强工具失败:Building the OpenGL support module[FAILED]...
查看>>
MVC学习系列14--Bundling And Minification【捆绑和压缩】--翻译国外大牛的文章
查看>>
Android实战简易教程-第十枪(画廊组件Gallery有用研究)
查看>>
POJ 2965:The Pilots Brothers' refrigerator
查看>>
Principle of Computing (Python)学习笔记(7) DFS Search + Tic Tac Toe use MiniMax Stratedy
查看>>
无法启动此程序,因为计算机中丢失 api-ms-win-crt-stdio-l1-1-0.dll 解决
查看>>
java获取指定文件夹下的所有文件名
查看>>
weex 项目开发(一) weex create project 与 weex init project 的区别
查看>>
PCH简单介绍
查看>>
c#实现用SQL池(多线程),定时批量执行SQL语句
查看>>