小编Hey*_*007的帖子

无法理解带有Optional Parameter的方法的输出

今天我写了一个小程序来理解C#的Optional Parameters的基本原理.

以下是该计划:

abstract class AbstractClass
{
    internal abstract void Test();
}

sealed class DerivedClass : AbstractClass
{        
    internal override void Test()
    {
        Console.WriteLine("In override DerivedClass.Test() method");
    }

    internal void Test(int a = 1)
    {
        Console.WriteLine("In DerivedClass.Test(int a=1) method " + a);
    }

    internal void Test(int b, int a = 1)
    {
        Console.WriteLine("In DerivedClass.Test(int b, int a=1) method " + string.Format("{0} {1}", b, a));
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我所谓的Test()方法:

   DerivedClass d = new DerivedClass();       
   d.Test();
   d.Test(6);
   d.Test(b:7);
Run Code Online (Sandbox Code Playgroud)

输出:

在DerivedClass.Test(int a …

.net c# overriding overloading optional-parameters

5
推荐指数
2
解决办法
94
查看次数

标签 统计

.net ×1

c# ×1

optional-parameters ×1

overloading ×1

overriding ×1