Вы не можете, правда.Однако, , если вам не нужно null
, чтобы обозначать что-либо еще, вы можете использовать:
public string FindStuffAboutVehicle(string customer, Vehicle vehicle = null)
{
vehicle = vehicle ?? new Vehicle { Make = "BMW", Year = 2011 };
// Proceed as before
}
В некоторых случаях это хорошо, но это означает, что вы не будетепоймайте ситуацию, когда вызывающий случайно пропустит ноль.
Возможно, было бы лучше использовать вместо него перегрузку:
public string FindStuffAboutVehicle(string customer, Vehicle vehicle)
{
...
}
public string FindStuffAboutVehicle(string customer)
{
return FindStuffAboutVehicle(customer,
new Vehicle { Make = "BMW", Year = 2011 });
}
Стоит также прочитать сообщения Эрика Липперта о необязательные параметры и их угловые регистры .