如何从另一个 class 访问 class 数组
How can I access a class array from another class
public partial class FormRestaurant : Form
public Tables[] AllTables = new Tables[4];
我创建了一个 Tables
类型的数组,它是我创建的 class。如果我尝试通过执行以下操作从第三个 class (Parties.cs
) 引用它:
public void AssignTable()
{
for (int i = 0; i < **FormRestaurant.AllTables**.Length; i++)
{
if (**FormRestaurant.AllTables[i]**.TableCapacity <= PartySize)
{
}
}
}
有人告诉我我需要一个对象引用。我该怎么做?
我试过将数组设为静态,但似乎不起作用。当我尝试制作 AllTables
数组 public.
时,我也会收到此错误
Error 1 Inconsistent accessibility: field type
'Restaurant_Spil.Tables[]' is less accessible than field
'Restaurant_Spil.FormRestaurant.AllTables'
您需要做的就是把您的 Tables
class public。
您不能在 public
class
中公开 private
字段类型
当它说您需要对象引用时,它试图告诉您它需要您的 class 的一个实例。假设您有 class:
public partial class FormRestaurant : Form
{
public Tables[] AllTables = new Tables[4];
}
如果要获取Parties.cs中Tables[]数组的长度,那么Parties需要一个FormRestaurant的实例;要求 FormRestaurant.AllTables 的长度是没有意义的。相反,您应该:
public class Parties
{
int length;
FormRestaurant f;
public Parties()
{
f = new FormRestaurant();
length = f.AllTables.Length;
}
}
f
变量是第一个错误中提到的 object reference
。
public partial class FormRestaurant : Form
public Tables[] AllTables = new Tables[4];
我创建了一个 Tables
类型的数组,它是我创建的 class。如果我尝试通过执行以下操作从第三个 class (Parties.cs
) 引用它:
public void AssignTable()
{
for (int i = 0; i < **FormRestaurant.AllTables**.Length; i++)
{
if (**FormRestaurant.AllTables[i]**.TableCapacity <= PartySize)
{
}
}
}
有人告诉我我需要一个对象引用。我该怎么做?
我试过将数组设为静态,但似乎不起作用。当我尝试制作 AllTables
数组 public.
Error 1 Inconsistent accessibility: field type 'Restaurant_Spil.Tables[]' is less accessible than field 'Restaurant_Spil.FormRestaurant.AllTables'
您需要做的就是把您的 Tables
class public。
您不能在 public
class
private
字段类型
当它说您需要对象引用时,它试图告诉您它需要您的 class 的一个实例。假设您有 class:
public partial class FormRestaurant : Form
{
public Tables[] AllTables = new Tables[4];
}
如果要获取Parties.cs中Tables[]数组的长度,那么Parties需要一个FormRestaurant的实例;要求 FormRestaurant.AllTables 的长度是没有意义的。相反,您应该:
public class Parties
{
int length;
FormRestaurant f;
public Parties()
{
f = new FormRestaurant();
length = f.AllTables.Length;
}
}
f
变量是第一个错误中提到的 object reference
。