【问题标题】:How to start a method multiple times, with different variables如何使用不同的变量多次启动一个方法
【发布时间】:2018-11-11 04:34:40
【问题描述】:

我一直在创建一个自动结账机器人,而且我对 C# 和一般编码非常陌生。我已经走了很远,几乎完成了程序,或者我想,现在我想要能够创建多个任务,或者多次运行任务方法。我还希望能够在每个任务上分别输入不同的“配置文件”,该配置文件定义了字符串,例如登录电子邮件、密码等。我非常卡住,我什至不知道从哪里开始,也许有人可以为我指出正确的方向让我开始?上次我从这个社区得到了一些惊人的帮助,它帮助了我很多。这是我目前的尝试:

  public void KeywordTask1()
    {
        Start();
        LogIn();
        FindProductByKeyword();
        stopwatch.Start();
        AddToCart();
        Checkout();
        TimeSpan CheckoutTime = stopwatch.Elapsed;
    }
    public void KeywordTask2()
    {
        Start();
        LogIn();
        FindProductByKeyword();
        stopwatch.Start();
        AddToCart();
        Checkout();
        TimeSpan CheckoutTime = stopwatch.Elapsed;
    }

我有启动这些任务的按钮,但我也希望改变变量,比如我在 Windows 窗体中设置的状态文本。这是我的 GUI,如果它可以帮助您更好地理解我的代码: https://gyazo.com/c6e9334e04aeb223e0afade6da8bec4e

如果您需要我的其他任何东西,请告诉我!我不确定这是否允许,但我愿意花钱请人帮助我度过这个难关,不是很多,因为我只有 16 岁哈哈,但无论如何,谢谢!

【问题讨论】:

    标签: c# multithreading selenium google-chrome task


    【解决方案1】:

    好吧,我不确定这是否是您想要的,但如果您想运行具有不同变量值的方法,则创建方法:

    public void MyMethod(string myVariable)
    {
    //do something with myVariable
    }
    

    并且你可以在调用方法时传递不同的变量值:

    MyMethod("123abc");
    

    或类似:

    var newVariable="123abc"
    MyMethod(newVariable);
    

    【讨论】:

      【解决方案2】:

      用不同的输入创建方法用变量启动方法

      public void MyUsername(string username)
      {
          MessageBox.Show(username);
      }
      
      private void buttonUsername1_Click(object sender, EventArgs e)
      {
          MyUsername("Adam");
      }
      private void buttonUsername2_Click(object sender, EventArgs e)
      {
          MyUsername("Jack");
      }
      

      要多次启动方法使用循环

      private void btnDoAllTask_Click(object sender, EventArgs e)
      {
          int count = 0;
          // run 5 times
          while(count < 5)
          {
              count++;
              MyUsername("username" + count.ToString());
          }
      }
      

      或遍历数组

      private void btnDoAllTask_Click(object sender, EventArgs e)
      {
          var listUsername = new string[] { "one", "two", "three" };
          foreach (var username in listUsername)
          {
              MyUsername(username);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-13
        • 2017-01-06
        相关资源
        最近更新 更多