我对编程很陌生,现在我正在为我正在工作的公司编写发票制造商应用程序。这是我正在努力实现的,以使我的任务变得容易。
因此,有一个excel文件夹,其中包含项目编号及其各自的净重和毛重,就像这样;
MTS 0001 / 24/26
MTS 0002 / 24/26
MTS 0003 / 28/30
MTS 0008 / 34/36
此信息包含在myworkbook.xlsx,Sheet2中,所以我在Sheet2.cs中实现了一个函数,就像这样;
public bool FindNetWeight(string item, out int weight)
{
for (int i = 0; i < 250; i++)
{
if (Cells[1, i])
{
return int.TryParse(Cells[3, i], out weight);
}
}
weight = 0;
return false;
}
现在,在我的Form.cs中,这是我的Windows窗体的cs,我正在尝试使用FindNetWeight,它向我显示我需要一个String参数和一个整数输出,但它不允许我使用该函数并给我以下错误;
非静态字段,方法或属性
需要对象引用
这可能是什么问题?希望我的描述足够明确,我已经提供了所有必要的信息。
答案 0 :(得分:1)
看起来您正在从静态函数调用非静态函数。 您可以使FindNetWeight静态,也可以创建一个新的Sheet2实例。
简单的方法是使它静止,所以:
public static bool FindNetWeight(string item, out int weight)
{
//yourcode
}
或者,创建Sheet2的新实例:
Sheet2 mySheet = new Sheet2();
mySheet.FindNetWeight(blabla)