【发布时间】:2013-12-19 20:45:34
【问题描述】:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ContructorChaining
{
class AdditionOdMultipleNum
{
public AdditionOdMultipleNum(int a)
{
Console.WriteLine("sum of {0},1 is : {1}", a, (a + 1));
}
public AdditionOdMultipleNum(int a,int b)
:this(a)
{
Console.WriteLine("sum of {0},{1} is : {2}", a, b, (a + b));
}
public AdditionOdMultipleNum(int a,int b,int c)
:this(a ,b)
{
Console.WriteLine("sum of {0},{1},{2} is : {3}", a, b, c, (a + b + c));
}
}
class Program
{
static void Main(string[] args)
{
AdditionOdMultipleNum addnum = new AdditionOdMultipleNum(2, 2, 6);
Console.ReadKey(true);
}
}
}
在上面的例子中,程序显示的输出是 3,4,10 那么,是否有可能以时尚 10,4,3 看到输出
换句话说,我可以更改构造函数的执行顺序,即具有 3 个参数(带输出)的构造函数,然后它调用具有 2 个参数(带输出)的构造函数,最后它调用具有 1 个参数(带输出)的构造函数
【问题讨论】:
-
你为什么想要???我认为这种行为没有充分的理由。
标签: c# constructor chaining