我正在通过一个例子,并发现了以下内容:
public CustomerDetailsViewModel(
IUIDataProvider dataProvider,
string customerID,
IToolManager toolManager = null)
: base(toolManager)
{
_dataProvider = dataProvider;
Customer = _dataProvider.GetCustomer(customerID);
Customer.PropertyChanged += Customer_PropertyChanged;
DisplayName = Customer.CompanyName;
Run Code Online (Sandbox Code Playgroud)
有人可以更详细地解释以下部分,因为我不确定它是如何使用的:
IToolManager toolManager = null)
: base(toolManager)
Run Code Online (Sandbox Code Playgroud)
IToolManager toolManager = null)
Run Code Online (Sandbox Code Playgroud)
这就是所谓的可选参数.当您调用此方法时,您不必提供它.如果不这样做,则会给出方法签名中指定的值
: base(toolManager)
Run Code Online (Sandbox Code Playgroud)
这是对您的类扩展的类的构造函数的调用.我建议你阅读一些关于继承和构造函数链接的内容.