将字符串 "classValue" 从 C# Class 传递到 C# 表单字符串 "formValue"

Passing string "classValue" from a C# Class to a C# form string "formValue"

我想在 C# 中使用名为 GenerateKeys 的 class 完成命令 class 中有一个名为 GenKeyA(classValue); 的函数,这是从默认调用的button1_click Visual Studio 13 中的事件处理程序,像这样使用表单字符串变量 formValueGenKeyA(formValue),通过这样做,我想将返回的字符串发送到 textBox1.Text 变量。如果我有任何错误,请纠正我!

public class GenerateKeys
/// The Class
{
    /// string Variable.
    string classValue = "";
    /// Called from button1_click

    private void GenKeyA (string classValue)
    {
          Random rand = new Random();
          classValue = ""+rand.Next(0,9)+""+rand.Next(0,9)+""+rand.Next(0,9)+"";

          /// from here, i wish to return the string classValue to 
          /// the form1.frmValue string then send that to textBox1.Text = formValue;
    }

}

只需将函数 return 设为 string 并成为 public(或 internal,具体取决于您的设置):

public string GenKeyA (string classValue)

然后通过以下方式在您的表单中调用它:

form1.frmValue = GenKeyA(classValue);
textBox1.Text = formValue;

从一个方法return到另一个class一个值,你只需要做三件事:

  1. 让它成为 public,这样另一个 class 就可以 'see' 它了。
  2. 向您的方法添加 return 类型(void 除外,这意味着它不会 return)
  3. 使用关键字 return 将对象传回给调用者。

因此,您可以这样更改方法:

public string GenKeyA (string classValue)
{
    Random rand = new Random();

    return rand.Next(0,9).ToString() + rand.Next(0,9).ToString() + 
        rand.Next(0,9).ToString();    
}

然后,在调用方,您可以执行以下操作:

textBox1.Text = GenKeyA(someStringValue);