1

同じソリューションに 3 つのプロジェクトがあります。プロジェクトの 1 つには静的変数があり、他の 2 つのプロジェクトで(3 番目のプロジェクトの dll を追加して)アクセスしようとしています。静的変数の 2 つの異なるコピーが他の 2 つのプロジェクトで作成されていることがわかります。

この問題を解決し、この静的変数にアクセスして、2 つのプロジェクトで 1 つのインスタンスのみにする方法を教えてください。つまり、一方のプロジェクトで変更したら、もう一方のプロジェクトに反映する必要があります。

4

2 に答える 2

3

もちろんできますし、それでもとても簡単です。

すでにタグを指定しているので、 VisualStudioで開発していると仮定するのが妥当です。

私はさらにあなたがc#で書いていると仮定していますが、そうでない場合は、同じことをするための同様のアプローチがあります。

c#を使用すると、プロジェクトで静的変数を次のように宣言します。

namespace CrossProject {
    public partial class PartialClass {
        public static String StaticVariable="123";
    }
}

StaticVariableまた、指定することで他の2つのプロジェクトにアクセスできます

using CrossProject;

あなたがそれを次のように使うことができるように

Console.Write("{0}", PartialClass.StaticVariable);

必ずしも部分クラスである必要はありませんが、変数宣言はクラススコープ内にある必要があることに注意してください。

于 2013-02-27T19:36:22.520 に答える
1

API 関数を介して変数にアクセスします。静的グローバル オブジェクトを作成するのではなく、ポインターを持ち、その API 関数への最初の呼び出しで変数を作成します。シングルトン パターンについて読んでください。

于 2013-02-27T18:52:01.463 に答える