服务器之家

服务器之家 > 正文

ASP.NET方法如何重载需要必备哪些条件

时间:2019-11-23 14:22     来源/作者:ASP.NET教程网

决定方法是否构成重载有以下几个条件: 

◆ 在同一个类中; 

◆ 方法名相同; 

◆ 参数列表不同。 

在设计重载方法的时候应该注意一下事项 

1 避免随意更改重载中的参数名称。如果某个重载的一个参数与另一个重载的一个参数表示相同的输入,则这两个参数应具有同样的名称。 

例如,不要执行下面的操作: 

复制代码代码如下:


public void Write(string message, FileStream stream){} 
public void Write(string line, FileStream file,bool closeStream){} 


这些重载的正确定义如下所示 

复制代码代码如下:


public void Write(string message, FileStream stream){} 
public void Write(string message, FileStream stream,bool closeStream){} 


保持重载成员参数的顺序一致性。在所有重载中,同名参数的位置应该相同。 

例如,不要执行下面的操作: 

复制代码代码如下:


public void Write(string message, FileStream stream){} 
public void Write(FileStream stream, string message, bool closeStream){} 


这些重载的正确定义如下所示: 

复制代码代码如下:


public void Write(string message, FileStream stream){} 
public void Write(string message, FileStream stream,bool closeStream){} 


以上两种写法结构清晰,增强代码的可读性,更加适合规范。 

此准则有两项约束: 

如果重载采用变量参数列表,则该列表必须是最后一个参数。 

如果重载采用 out 参数,按照约定,这类参数应作为最后的参数 

如果需要具有扩展性,将最长的重载作为虚重载。较短的重载只应逐步调用较长的重载。 

与override重写的区别 

Override是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部