C# 从Windows窗体应用程序调用类的方法

C# 从Windows窗体应用程序调用类的方法,c#,windows-forms-designer,C#,Windows Forms Designer,我试图调用一个与它的类AHPModel同名的方法,但通过创建该类的实例从Windows窗体接受一个整数参数,但它给了我一个对象引用未设置为对象实例的错误,请您帮助 多谢各位 形式如下: private void button6_Click(object sender, EventArgs e) { try { AHPModel model = new AHPModel(3, 3); model.AddCriteria(criteria);

我试图调用一个与它的类AHPModel同名的方法,但通过创建该类的实例从Windows窗体接受一个整数参数,但它给了我一个对象引用未设置为对象实例的错误,请您帮助

多谢各位

形式如下:

private void button6_Click(object sender, EventArgs e)
{
    try
    {
        AHPModel model = new AHPModel(3, 3);
        model.AddCriteria(criteria);
        model.AddCriterionRatedChoices(0, night);
        model.AddCriterionRatedChoices(1, act);
        model.AddCriterionRatedChoices(2, cost);

        model.CalculateModel();

        GeneralMatrix calcCriteria = model.CalculatedCriteria;
        GeneralMatrix results = model.ModelResult;
        GeneralMatrix choices = model.CalculatedChoices;
    }

    catch (System.Exception excep)
    {
        MessageBox.Show(excep.Message);
    }
}
我的班级

public class AHPModel
{
    public AHPModel(int n)
    {

    }
    public void CalculateModel()
    {
        CalculatePriorities();
        CalculateChoices();
        CalculateFinalResult();
    }
}

这是因为您尚未为创建参数化构造函数

AHPModel模型=新AHPModel 3,3

您可以执行AHPModel model=newahpmodel3,3;当你有一个像下面这样的构造函数的类

public class AHPModel
 {
    public AHPModel(int n)
    {

    }
    public AHPModel(int n,int n)
    {

    }
    public void CalculateModel()
    {
        CalculatePriorities();
        CalculateChoices();
        CalculateFinalResult();
    }
}

我刚刚意识到我正在将本地声明的数组的空值传递给该方法。但是现在我可以从windows窗体访问目标方法了

这是因为您的AHPModel类没有一个构造函数按照行AHPModel model=new AHPModel3,3;的要求获取2个值;。此外,它没有添加条件的函数,也没有条件变量。此外,它没有添加CriterionRatedChoices的功能,也没有用于夜间、表演和成本的变量。@zizobiko25是您发布的AHPModel类,而实际上是一个。如果是,我想知道您应该得到一个编译时错误,比如:没有接受两个参数的构造函数。。。但是您发布了空引用异常,这是一个运行时异常?请提供一个否,这只是代码的一部分。我已经得到了所需的构造函数和提到的方法@SivaGopalYes,我的代码中有这些构造函数,但在运行代码@UpenderThanks@Upender Singh时仍然收到错误通知,我刚刚意识到我正在将本地声明的数组的空值传递给该方法。但是现在我可以从windows窗体访问目标方法了。