C# 从一个类到另一个类的方法调用不起作用?

C# 从一个类到另一个类的方法调用不起作用?,c#,C#,我很难让下面的代码正常工作。我正在从另一个类调用一个方法,并返回一个错误,“对象引用未设置为对象的实例” 好的,所以我在这里跳得有点太快了,错过了QCMeClass中的一些东西。QCMeClass调用另一个类中的第三个方法。我需要为method3添加并分配一个对象 所以在QCMeClass我宣布 public MainForm formObj; 然后在调用方法PimsController()中添加 哪一行抛出错误?这是非常重要的信息,决不能忽略。此外,catch(Exception ex){t

我很难让下面的代码正常工作。我正在从另一个类调用一个方法,并返回一个错误,“对象引用未设置为对象的实例”


好的,所以我在这里跳得有点太快了,错过了QCMeClass中的一些东西。QCMeClass调用另一个类中的第三个方法。我需要为method3添加并分配一个对象

所以在QCMeClass我宣布

public MainForm formObj;
然后在调用方法PimsController()中添加


哪一行抛出错误?这是非常重要的信息,决不能忽略。此外,
catch(Exception ex){throw ex;}
比什么都不做更糟糕,因为它所做的唯一事情就是重置堆栈跟踪,隐藏错误源。删除整个
catch
块(及其
try
),再次运行代码,查看哪一行引发了错误。我对此表示道歉,我认为哪一行会引发异常是显而易见的。行{if(String.IsNullOrEmpty(qcmeObj.FindDataLocation(item))}正在抛出expetion。不知道为什么,因为我在QCMeClass qcmeObj=new QCMeClass()中声明了此对象的新实例@Blorgbeard我只加了掷骰子;为了在这里展示示例,我通常以不同的方式处理异常。顺便说一句,你知道你也可以抛出?它不会重置堆栈跟踪。为了避免这种情况,我建议在使用默认构造函数进行实例化时,始终将所有类成员设置为有效的默认值(从类内部)。这样可以避免意外行为。
public MainForm formObj;
QCMeClass instance = new QCMeClass();
instance.formObj= this.formObj;