代码之家  ›  专栏  ›  技术社区  ›  Romasz

多种适用方法[重复]

c#
  •  0
  • Romasz  · 技术社区  · 8 年前

    考虑两种名称相同但参数不同的方法:

    private void Method(int number) => Debug.WriteLine("I'm method 01");
    
    private void Method(int number, string name = "") => Debug.WriteLine("I'm method 02");
    

    理论上如果我们打电话 Method(0);

    调试表明编译器采用了 方法01 -有什么规定吗?

    没有危险吗 方法02 被调用?

    1 回复  |  直到 8 年前
        1
  •  2
  •   SLaks    8 年前

    C#规范详细解释了重载解析的工作原理。

    看见 here 了解详细信息。

    C#不是随机语言;每一段可能的代码要么有一个规范定义的含义(永远不会改变),要么会给出一个编译器错误。