今天我写了一个小程序来理解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 …