通过Ref Textbox.Text传递

Haz*_*ior 3 c# byref

我目前有一些东西,我想通过ref传递textbox.text.我不想传递整个文本框,我希望函数更改文本以及返回其他变量.

    public int function(int a, int b, string text)
    {
        //do something

        if (a + b > 50)
        {
            text = "Omg its bigger than 50!";
        }

        return (a + b);
    }
Run Code Online (Sandbox Code Playgroud)

有没有办法通过ref传递Textbox.text并在函数内部更改它?

Tho*_*que 6

您不能通过ref传递属性,只能传递字段或变量.

来自MSDN:

属性不是变量.它们实际上是方法,因此不能作为ref参数传递.

你必须使用一个中间变量:

string tmp = textBox.Text;
int x = function(1, 2, ref tmp);
textBox.Text = tmp;
Run Code Online (Sandbox Code Playgroud)