1

我有一个类Node,然后我在我的 main 中创建了我的树节点,如下所示:

static void Main(string[] args)
{
  Node IProot = new Node("ANY-IP");           
}

我想一直访问这个节点,即使我将通过另一个功能(设置 IProot 全局),例如我想要

public static alarm generalize(alarm one,alarm two)
{       
   //some code
}

代替

public static alarm generalize(alarm one,alarm two,Node IProot)
{       
  //some code
}

如果这是完全错误的,我该怎么办?

因为我无权访问 IProot,所以我必须将它作为我的函数的输入,以便我可以使用 IProot 进行编码,但我最好不要将它作为输入。我尝试static Node了主要定义 IProot 的位置,但这导致了错误。我也为我的课尝试过static class Node,同样没有结果。

4

2 回答 2

2

尝试这个:

static Node IProot;

static void Main(string[] args)
{
    IProot = new Node("ANY-IP");
}

这会IProot在您的应用程序的Main方法中实例化对象,并允许在您的类中的方法中访问该对象的实例。

于 2012-04-21T16:05:43.140 回答
0

如果generalize是一个可以应用于任何Node对象的方法,它可能应该在Node类中定义而不是作为静态方法,因为这是一种更加面向对象的方法。然后你可以这样称呼它:

IProot.generalize(one, two);
于 2012-04-21T16:14:46.697 回答