小编Val*_*rio的帖子

为什么f(double)比f(long,int = 0)更好地匹配f(long)?

我的一位同事发现了这个奇怪的案例.我在这里发布一个简单的例子:

using System;

namespace Test
{
    public class F
    {
        public void f(double d) { Console.WriteLine("public void F.f(double d)"); }
        public virtual void f(long l, int q = 0) { Console.WriteLine("public virtual void F.f(long l, int q = 0)"); }
    }

    public class FDerived : F
    {
        public override void f(long l, int q) { Console.WriteLine("public override FDerived.f(long l, int q)"); }
        public void g() { f(2L); }
    }

    public class G : FDerived
    {
        public void h1() { F …
Run Code Online (Sandbox Code Playgroud)

c#

4
推荐指数
1
解决办法
76
查看次数

标签 统计

c# ×1