【问题标题】:Cannot Assign because it is a method group C#?无法分配,因为它是 C# 方法组?
【发布时间】:2013-11-15 08:30:55
【问题描述】:

无法分配“AppendText”,因为它是“方法组”。

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.");
    }
}

错误出现在 button1_Click 方法内的“textBox2.AppendText = text”行。

【问题讨论】:

  • 谢谢大家。对不起,如果我是个白痴:(
  • 嗯,我试过了,它工作,但由于某种原因,它不会在新行中显示它。
  • 文本框有MultiLine = True吗?此外,如果以下人员之一确实回答了您的问题,请点击旁边的勾号接受他们的回答
  • 是的,我将属性设置为 true,但它仍然不起作用。 :(
  • 在要附加的文本后添加一个新行:textBox2.AppendText(text + Environment.NewLine);

标签: c# .net methods assign method-group


【解决方案1】:

使用以下

textBox2.AppendText(text);

代替

textBox2.AppendText = text;

AppendText 不是属性而是方法。因此需要带参数调用,不能直接赋值。

属性是特殊方法,由于编译器中的特殊处理而支持赋值。

【讨论】:

    【解决方案2】:

    改为这样做(AppendText 是一种方法,而不是属性;这正是错误消息告诉您的内容):

    textBox2.AppendText(text);
    

    【讨论】:

      【解决方案3】:

      textBox2.AppendText(text); 是一个method。你必须把它称为一个。您正在对方法执行赋值操作。

      【讨论】:

        【解决方案4】:

        您必须以这种方式调用 AppendText:

        textBox1.AppendText("Some text")
        

        【讨论】:

          【解决方案5】:

          AppendText 是一个方法,你必须调用它。

          textBox2.AppendText(text);
          

          【讨论】:

            【解决方案6】:

            我发现声明的变量名称类似于方法名称,因此它不允许我分配值。
            我改名的那一刻就奏效了!

            【讨论】:

            • 这似乎侧重于您自己的环境和情况。请改写一下,把它变成一个对其他人更普遍有帮助的答案。
            • 我不同意上面的评论。仅仅因为解决方案解决了比任何程序员都会遇到的绝对最常见错误更罕见的错误,这并不意味着它没有价值。如果允许的唯一问题是与人们遇到的一小部分最常见问题相关的问题,那么什么会使 SO 变得毫无价值。当您可以找到解决某人遇到的每个问题的方法时,SO 就具有更大的价值,而不仅仅是您脑海中的少数问题。
            猜你喜欢
            • 2017-02-16
            • 1970-01-01
            • 2012-12-25
            • 1970-01-01
            • 2014-11-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多