Search code examples
c#.netmethodsassignmethod-group

Cannot Assign because it is a method group C#?


Getting the error

Cannot Assign "AppendText" because it is a "method group".

public partial class Form1 : Form
{
    String text = "";

    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        String inches = textBox1.Text;
        text = ConvertToFeet(inches) + ConvertToYards(inches);
        textBox2.AppendText = text;
    }

    private String ConvertToFeet(String inches)
    {
        int feet = Convert.ToInt32(inches) / 12;
        int leftoverInches = Convert.ToInt32(inches) % 12;
        return (feet + " feet and " + leftoverInches + " inches." + " \n");
    }

    private String ConvertToYards(String inches)
    {
        int yards = Convert.ToInt32(inches) / 36;
        int feet = (Convert.ToInt32(inches) - yards * 36) / 12;
        int leftoverInches = Convert.ToInt32(inches) % 12;
        return (yards + " yards and " + feet + " feet, and " + leftoverInches + " inches.");
    }
}

The error is on the line

textBox2.AppendText = text;

inside the button1_Click() method.


Solution

  • Use following

    textBox2.AppendText(text);
    

    Instead of

    textBox2.AppendText = text;
    

    AppendText is not a property but a method. Thus it needs to be invoked with parameter and cannot be assigned directly.

    Properties are special methods, that support assignments due to special handling in compiler.