I believe what i am trying to do is very simple but I get the error. Operator \'*\' cannot be applied to operands of type \'method group\' and \'double\'
I want to mult
You are missing the paranthesis from your function call to dayrental, which is causing the compiler to think you are refering to the method itself rather than the result of a call to that method.
rental = dayrental * 19.95;
should be
rental = dayrental() * 19.95;
your syntax is just a little off (missing parentheses after function call and no return type specified for your function).
if (checkBox1.Checked == true)
rental = dayrental() * 19.95;
public double dayrental()
{
var timeSpan = dateTimePicker2.Value - dateTimePicker1.Value;
return (double) timeSpan.Days;
}
dayrental
is a function that return void.
it has no value and you cannot multiply it by 19
In c# a methodcall is always denoted by a pair of braces, while the method itself is addressed by it's name. So dayrental()
is the returnvalue of dayrental, while dayrental
is the method dayrental. Therefore you are multiplying the method dayrental with the with 19.95 which obviously fails.
What you are trying to do is:
rental = dayrental() * 19.95;
Also dayrental returns void so youm ight want to change it to
public double dayrental()
and return some value.
Do this:
private void button1_Click(object sender, EventArgs e)
{
double rental;
var dayRental = dayrental();
if(checkBox1.Checked == true)
rental = dayrental * 19.95;
label4.Text = Convert.ToString(rental);
}
private void label4_Click(object sender, EventArgs e)
{
}
public int dayrental()
{
var timeSpan = dateTimePicker2.Value - dateTimePicker1.Value;
var rentalDays = timeSpan.Days;
return rentalDays;
}