我正在研究一个例子并遇到以下情况:
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)
答案 0 :(得分:5)
IToolManager toolManager = null)
这就是所谓的optional parameter。当您调用此方法时,您不必提供它。如果不这样做,则会给出方法签名
中指定的值 : base(toolManager)
这是对您的类扩展的类的构造函数的调用。我建议你阅读一下继承和构造函数链。