在 winForm 函数之外调用函数

时间:2021-03-11 18:47:23

标签: c# winforms

这是我在 WinForm 应用程序 (C#) 中的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MyProject.Model;

namespace MyProject.WinForm
{
    public partial class EcranLoginAPI : Form
    {
     

        public EcranLoginAPI()
        {
            InitializeComponent();

        }

        private void buttonTestConnexion_Click(object sender, EventArgs e)
        {
           var test = TestConnexionApi(textBoxApiKey, textBoxApiSecret);
        }
    }
}

这是我的课:

using System;
using System.Collections.Generic;
using System.Text;

namespace MyProject.Model
{
    public class Test
    {

        public bool TestConnexionApi(String apiKey, String apiSecret)

        {
            bool result = false;


            return result;

        }

    }
}

我尝试了所有方法,但不知道如何调用“TestConnexionApi”。程序无法识别该功能...

TestConnexionApi 位于另一个名为 Model 的文件夹中。

我将不胜感激!谢谢你。对不起,这是一个愚蠢的问题!

3 个答案:

答案 0 :(得分:1)

我不想陷入完整的教程答案,所以我会尽量保持简单:

您的 TestConnexionApi 方法已在类中声明。为了调用这个方法,你必须创建那个类的一个实例:

Test myInstance = new MyProject.Model.Test(); //This will create an instance of your Test class
bool result = myInstance.TestConnexionApi(textBoxApiKey, textBoxApiSecret);

另一种选择是将您的 Test 类声明为静态:

namespace MyProject.Model
{
    public static class Test
    {
        public static bool TestConnexionApi(String apiKey, String apiSecret)
        {
            return false;
        }
    }
}

... 然后像这样调用 TestConnexionApi 方法:

bool result = MyProject.Model.Test.TestConnexionApi(textBoxApiKey, textBoxApiSecret);

如果您刚开始使用 c#,请从一些教程开始,并确保阅读有关静态类的内容。许多新程序员都在滥用 static 关键字。

答案 1 :(得分:0)

怎么样

var test = new Test().TestConnexionApi(textBoxApiKey, textBoxApiSecret);

答案 2 :(得分:-2)

var test = new Test().TestConnexionApi(textBoxApiKey, textBoxApiSecret);