我在 C# 规范规则中看到了在调用中使用重载方法的规则,但我似乎找不到任何关于需要满足哪些条件才能使方法实际上成为重载方法的任何内容。
这是我的镜头。如果您发现任何问题,请告诉我:
这没有考虑访问修饰符或泛型(我仍然是一个通过 C# 书工作的菜鸟)
考虑两种方法
- 确保两种方法都有正确的形式参数列表
- 将可选参数视为强制参数
- 将 params 视为一个强制参数,其类型是 params 数组的类型
- 我们有两个强制参数列表
- (P1、P2、P3、P4)和(Q1、Q2、Q3、Q4)
- P1 和 Q1、P2 和 Q2、... 是参数对
- 要被重载的方法,两者必须具有相同的名称但不同的参数列表
其中之一必须是错误的
- 相同数量的参数
- 每个参数对必须具有相同的类型
- 每个参数对必须都具有参数修饰符或都没有参数修饰符。
示例:method(ref int a) 和 method(out int a) 不是重载方法
- 两者 1 参数
- 两者都是整数
- 两者都有一个参数修饰符