繁体   English   中英

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

[英]How can I access a class array from another 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数组公开时, AllTables出现此错误。

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

当它说您需要一个对象引用时,它试图告诉您它需要类的实例。 假设您有课程:

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

您需要做的就是将Tables类公开。 您不能在public课程中公开private字段类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM