ASP.NET方法如何重载需要必备哪些条件
2013-12-11 17:33
615 查看
决定方法是否构成重载有以下几个条件:
◆ 在同一个类中;
◆ 方法名相同;
◆ 参数列表不同。
在设计重载方法的时候应该注意一下事项
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是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。
◆ 在同一个类中;
◆ 方法名相同;
◆ 参数列表不同。
在设计重载方法的时候应该注意一下事项
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是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。
相关文章推荐
- ASP.NET方法如何重载需要必备哪些条件
- ASP.NET方法如何重载需要必备哪些条件
- ASP.NET方法如何重载
- 转---asp.net 验证的问题:authentication,解释以及如果要匿名登录一些网页需要如何操作等。
- MattPowell介绍了如何在服务器端使用异步Web方法,来创建高性能的 Microsoft ASP.NET Web 服务
- 如何让ASP.NET Web API的Action方法在希望的Culture下执行
- asp.net后台如何输出js脚本使用什么方法可以实现
- ASP.NET AJAX 中,如何用 JavaScript 调用服务器端的方法?
- Asp.net如何防止论坛用户重复登录的方法?
- Asp.net 更改Alert样式和后台注册Jquery的Ajax异步提交事件[包括处理前操作、处理后操作(注明:此方法只是作为参考,如有需要可自行修改)]
- 在ASP.NET中用JS如何调用Server端方法?
- 在ASP.NET中用JS如何调用Server端方法?
- ASP.NET 多条件动态参数查询方法
- 浅谈Asp.net Mvc之Action如何传多个参数的方法
- 提升ASP.NET性能的方法有哪些?
- 魏言ASP.NET数据采集封装类,封装了所有数据采集需要的方法
- asp.net c#如何采集需要登录的页面?
- 如何在asp.net调用javascript方法
- 转:在ASP.NET中在不同页面间进行数据传递有哪些方法
- asp.net js方法互调 asp.net 前台如何调用后台方法