在工作中,我监视与在服务器上运行的应用程序相关联的大量服务器和网站。通常,每个应用程序背后都有一个服务器集群和大约 6-10 个不同的网页。所以我所做的是我创建了一个 Servers 类,它将接收服务器的名称并控制与之关联的 url。现在这是我正在努力的部分。每个 url 将有两个与之关联的值:物理 url 和 url 的状态(在线/离线)。我想出了两种处理方法:要么创建一个二维数组(或列表),要么创建一个 url 子类。子类方法似乎会更好,因为我认为访问子类的所有方法会很容易......好吧,现在我根本无法在 Servers 类之外调用它们。这让我觉得我对类/方法的范围有疑问。这是我的 Servers.cs 代码......我做错了什么?
public class Server
{
public List<string> serverNames = new List<string>();
public List<object> urlList = new List<object>();
public string[][] urlArr = new string[1][];
public Server()
{
}
public Server(string nm)
{
serverNames.Add(nm);
}
public void setName(string newName)
{
serverNames.Add(newName);
}
public void addUrl(string newUrl)
{
Server.Url url = new Server.Url(newUrl);
urlList.Add(url);
url.SetStatus(false);
}
protected class Url
{
public string url;
public bool status;
public Url()
{
}
public Url(string URL)
{
url = URL;
}
public void SetStatus(bool stat)
{
status = stat;
}
public bool ReturnStatus()
{
return status;
}
}
}
这是我尝试调用 Url 类方法 ReturnStatus 以查看该 url 状态的方式。问题是 ReturnStatus 方法不可用......
private void button2_Click(object sender, EventArgs e)
{
int length = serversList[0].urlList.Count;
for (int i = 0; i <= length - 1; i++)
{
listBox1.Items.Add(serversList[0].urlList[i].ToString()+ serversList[0].urlList[i].ReturnStatus());
}
}