1

クラスNodeがあり、メインに次のようにツリーノードを作成しました。

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

Try this:

static Node IProot;

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

This instantiates the IProot object in your application's Main method, and will allow that instance of the object to be accessible in the methods in your class.

于 2012-04-21T16:05:43.140 に答える
0

If generalize is a method which can be applied to any Node object, it probably should be defined in the Node class instead of as a static method, as this is a more object-oriented approach. Then you could call it like this:

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