21

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.

Tim Pohlmann
  • 4,140
  • 3
  • 32
  • 61
puretppc
  • 3,232
  • 8
  • 38
  • 65

6 Answers6

37

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.

Tilak
  • 30,108
  • 19
  • 83
  • 131
6

Do this instead (AppendText is a method, not a property; which is exactly what the error message is telling you):

textBox2.AppendText(text);
Mansfield
  • 14,445
  • 18
  • 76
  • 112
5

textBox2.AppendText(text); is a method. You have to call it like one. You were performing an assignment operation on a method.

P.Brian.Mackey
  • 43,228
  • 68
  • 238
  • 348
5

You have to call the AppendText in this way:

textBox1.AppendText("Some text")
Stefano Bafaro
  • 915
  • 10
  • 20
5

AppendText is a method and you must call it.

textBox2.AppendText(text);
Bogdan Beda
  • 758
  • 5
  • 12
1

I figured out that the variable name declared was similar to a method name and hence it didn't allow me to assign a value.
The moment I changed the name it worked!

Yunnosch
  • 26,130
  • 9
  • 42
  • 54
P-Man-Coding
  • 95
  • 1
  • 6
  • This seems to focused on your own environment and situation. Please rephrase to turn this into an asnwer which is more generally helpful to others. – Yunnosch Dec 08 '19 at 22:57
  • 1
    I disagree with the comment above. Just because the solution solves a rarer error than the absolute most common error that any programmer will ever encounter, that doesn't make it value-less. What would make SO value-less if the only questions allowed are those that are related to just a small handful of the most common problems people encounter. SO has much more value when you can find solutions to EVERY problem someone runs into, not just the few that you have in the front of your mind. – Bryan Williams Sep 14 '21 at 16:04
  • It certainly helped me! Thank you @prattek! – Sotiris Zegiannis May 30 '22 at 12:08