简体   繁体   English

无法分配,因为它是 C# 方法组?

[英]Cannot Assign because it is a method group C#?

Cannot Assign "AppendText" because it is a "method group".无法分配“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.");
    }
}

The error is on the line "textBox2.AppendText = text", inside the button1_Click method.错误位于 button1_Click 方法内的“textBox2.AppendText = text”行上。

Use following使用以下

textBox2.AppendText(text);

Instead of代替

textBox2.AppendText = text;

AppendText is not a property but a method. AppendText不是属性而是方法。 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.属性是特殊的方法,由于编译器中的特殊处理而支持赋值。

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

textBox2.AppendText(text);

textBox2.AppendText(text); is a method .是一种方法 You have to call it like one.你必须像一个一样称呼它。 You were performing an assignment operation on a method.您正在对方法执行赋值操作。

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

textBox1.AppendText("Some text")

AppendText 是一种方法,您必须调用它。

textBox2.AppendText(text);

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!我改变名字的那一刻它起作用了!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM