如何从另一个类访问类数组

时间:2015-02-12 18:40:51

标签: c# arrays class

public partial class FormRestaurant : Form
     public Tables[] AllTables = new Tables[4];

我创建了一个Tables类型的数组,这是我创建的一个类。如果我尝试通过执行以下操作从第三个类(Parties.cs)引用它:

public void AssignTable()
    {
        for (int i = 0; i < **FormRestaurant.AllTables**.Length; i++)
        {
            if (**FormRestaurant.AllTables[i]**.TableCapacity <= PartySize)
            {

            }
        }
    }

我被告知我需要一个对象引用。我到底该怎么做?

我尝试使数组静态但它似乎不起作用。当我尝试将AllTables数组公开时,我也会收到此错误。

  

错误1可访问性不一致:字段类型   'Restaurant_Spil.Tables []'比字段更难访问   'Restaurant_Spil.FormRestaurant.AllTables'

2 个答案:

答案 0 :(得分:2)

当它说你需要一个对象引用时,它试图告诉你它需要你的类的一个实例。说你有你的班级:

public partial class FormRestaurant : Form
{
     public Tables[] AllTables = new Tables[4];
}

如果你想获得Parties.cs中Tables []数组的长度,那么缔约方需要一个FormRestaurant的实例;询问FormRestaurant.AllTables的长度是没有意义的。相反,你应该:

public class Parties
{
    int length;
    FormRestaurant f;
    public Parties()
    {
        f = new FormRestaurant();
        length = f.AllTables.Length;
    }
}

f变量是您第一次出错时提到的object reference

答案 1 :(得分:-1)

您需要做的就是将您的Tables课程公开。 您无法在private

中公开public字段类型