构造函数参数

时间:2014-06-05 16:15:36

标签: c#

我正在研究一个例子并遇到以下情况:

public CustomerDetailsViewModel(
    IUIDataProvider dataProvider,
    string customerID,
    IToolManager toolManager = null)
    : base(toolManager)
{
    _dataProvider = dataProvider;
    Customer = _dataProvider.GetCustomer(customerID);
    Customer.PropertyChanged += Customer_PropertyChanged;
    DisplayName = Customer.CompanyName;

有人可以更详细地解释以下部分,因为我不确定它是如何使用的:

 IToolManager toolManager = null)
 : base(toolManager)

1 个答案:

答案 0 :(得分:5)

IToolManager toolManager = null)

这就是所谓的optional parameter。当您调用此方法时,您不必提供它。如果不这样做,则会给出方法签名

中指定的值
 : base(toolManager)

这是对您的类扩展的类的构造函数的调用。我建议你阅读一下继承和构造函数链。