I have an error:
Error CS0121 The call is ambiguous between the following methods or properties: 'Program.calculateFee(double, int)' and 'Program.calculateFee(double)' DailyRate.
here is my code:
void run()
{
double fee = calculateFee();
Console.WriteLine("Fee is {0}", fee);
}
private double calculateFee(double theDailyRate = 500.0, int no0fdays = 1)
{
Console.WriteLine("calculateFee using two optional parameters");
return theDailyRate * no0fdays;
}
private double calculateFee(double dailyRate = 500.0)
{
Console.WriteLine("calculateFee using one optional parameter");
int defaultNo0fDays = 1;
return dailyRate * defaultNo0fDays;
}
private double calulateFee()
{
Console.WriteLine("calculateFee using hardcoded values");
double defaultDailyRate = 400.0;
int defaultNo0fDays = 1;
return defaultNo0fDays * defaultDailyRate;
}
}
}
edit: why does this one do work??
static void Main(string[] args)
{
(new Program()).run();
}
void run()
{
double fee = calculateFee();
Console.WriteLine("Fee is {0}", fee);
}
private double calculateFee(double theDailyRate = 500.0, int noOfDays = 1)
{
Console.WriteLine("calculateFee using two optional parameters");
return theDailyRate * noOfDays;
}
private double calculateFee(double dailyRate = 500.0)
{
Console.WriteLine("calculateFee using one optional parameter");
int defaultNoOfDays = 1;
return dailyRate * defaultNoOfDays;
}
private double calculateFee()
{
Console.WriteLine("calculateFee using hardcoded values");
double defaultDailyRate = 400.0;
int defaultNoOfDays = 1;
return defaultDailyRate * defaultNoOfDays;
}