从Windows表单应用程序调用类的方法

时间:2017-09-29 11:49:14

标签: c# windows-forms-designer

我试图调用一个与其类名相同的方法(AHPModel),但通过创建类的实例从Windows窗体接受一个整数参数,但它给出了"Object reference not set to an instance of an object"的错误拜托,求你帮忙!

谢谢。

在表格中:

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();
    }
}

2 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您尚未为

创建parmeterized构造函数

AHPModel model = new AHPModel(3, 3);

当您使用下面的构造函数(

)上课时,可以执行AHPModel model = new AHPModel(3, 3);
public class AHPModel
 {
    public AHPModel(int n)
    {

    }
    public AHPModel(int n,int n)
    {

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

答案 1 :(得分:0)

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