我在公开Globals.Global.InstantiateBlowerObj();
中调用方法frmMain()
时遇到问题。我收到错误"名称' Globals.Global.InstantiateBlowerObj'在当前的背景下不存在。"我把所有的课程和方法都公之于众,我无法弄清楚这一点。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WetVacClient;
using Globals;
using Globals.Global;
namespace Globals
{
public class Global
{
public Blower[] _Blower = new Blower[4];
public void InstantiateBlowerObj()
{
for (int i = 1; i < 4; i++)
_Blower[i] = new Blower(i);
}
}
}
namespace WetVacClient
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
Globals.Global.InstantiateBlowerObj();
}
}
}
答案 0 :(得分:1)
将其设为static
。
您正在尝试访问静态上下文中的非静态成员。
public static void InstantiateBlowerObj()
{
for (int i = 1; i < 4; i++)
_Blower[i] = new Blower(i);
}
答案 1 :(得分:1)
您需要同时制作方法和_Blower属性静态
public static Blower[] _Blower = new Blower[4];
public static void InstantiateBlowerObj()
{
for (int i = 1; i < 4; i++)
_Blower[i] = new Blower(i);
}
否则创建一个Global的intance并调用它的实例方法(但这不是你想要的)。
Globals.Global g=new Globals.Global();
g.InstantiateBlowerObj();