【问题标题】:Passing string "classValue" from a C# Class to a C# form string "formValue"将字符串“classValue”从 C# 类传递给 C# 表单字符串“formValue”
【发布时间】:2015-07-07 02:13:02
【问题描述】:

我想在 C# 中使用一个名为 GenerateKeys 的类来完成一个命令,该类中有一个名为 GenKeyA(classValue); 的函数,它是从 Visual Studio 13 中的默认 button1_click 事件处理程序调用的,使用表单字符串变量formValue 就像这样。 GenKeyA(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;
    }

}

【问题讨论】:

  • 你有什么问题?需要把GenKeyA的返回类型改一下,大概是string
  • 我希望为函数使用一个类,并且在该函数中,我想创建一个字符串,该字符串可以通过该类和函数传递回主窗体变量字符串,然后传递到一个文本框。

标签: c# string class parameter-passing argument-passing


【解决方案1】:

要将一个值从一个方法返回给另一个类,你只需要做三件事:

  1. 将其公开,以便其他班级可以“看到”它。
  2. 为您的方法添加返回类型(void 除外,这意味着它不会返回)
  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);

【讨论】:

    【解决方案2】:

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

    public string GenKeyA (string classValue)
    

    然后在你的表单中调用它:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 2011-11-26
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多