プロセス内の各AppDomain用に作成されたパブリック静的変数のコピーは1つだけですか、それともプロセス全体のコピーは1つだけですか?つまり、あるAppDomain内から静的変数の値を変更すると、同じプロセス内の別のAppDomain内の同じ静的変数の値に影響しますか?.Netでは、AppDomainまたはプロセス全体に限定されたパブリック静的変数の「静的性」ですか?
5
A
答えて
10
この例により証明として、アプリケーションドメインごとである:
public class Foo
{
public static string Bar { get; set; }
}
public class Test
{
public Test()
{
Console.WriteLine("Second AppDomain: {0}", Foo.Bar);
}
}
class Program
{
static void Main()
{
// Set some value in the main appdomain
Foo.Bar = "bar";
Console.WriteLine("Main AppDomain: {0}", Foo.Bar);
// create a second domain
var domain = AppDomain.CreateDomain("SecondAppDomain");
// instantiate the Test class in the second domain
// the constructor of the Test class will print the value
// of Foo.Bar inside this second domain and it will be null
domain.CreateInstance(Assembly.GetExecutingAssembly().FullName, "Test");
}
}
0
それはアプリケーションドメインに制限され、換言すれば、変数は、各アプリケーションドメイン内の別の値として存在します。
関連する問題
- 1. Javaでは、静的メソッド自体の内部で宣言された変数は静的ですか?
- 2. パブリック静的変数とプライベート静的変数の違い
- 3. 静的クラスはAppDomain間で共有されていますか?
- 4. AppDomainの静的フィールド
- 5. ASP.NET MVC静的変数の安全性
- 6. 静的継承された静的変数のオーバーライド
- 7. 非静的メソッドで定義された変数は、オブジェクトでガベージコレクションされます
- 8. パブリック静的クラスのC#テストプライベート静的メソッド
- 9. 最初に読み込まれる静的変数または静的ブロックはどれですか?
- 10. Silverstripe 3.4は定義し、パブリック静的
- 11. クラスの静的関数は、グローバル静的変数にアクセスできますか?
- 12. 保護された静的メンバー変数
- 13. 静的メソッド内のローカル変数は、静的ていますか?
- 14. クラスメソッドまたは静的変数、違いは何ですか?
- 15. 静的変数の数はC++で制限されています
- 16. 関数内で宣言された静的変数の値は何ですか?
- 17. 定数は、静的
- 18. 静的メソッドは非静的インスタンス変数にアクセスできますか?
- 19. 静的メソッドまたはインスタンスメソッドを.NETで拡張しますか?
- 20. 静的メソッド内の変数は、C#の静的スコープ内にあるため自動的に静的になりますか?上記の例では
- 21. 他のスクリプトからパブリック静的変数にアクセスするUnity
- 22. 静的コンストラクタは同じappdomainで2回呼び出されますか?
- 23. アプリケーション全体で1つのクラスで作成された静的オブジェクトの参照
- 24. プライベート静的関数とtypcriptのパブリック静的関数の違いは何ですか?
- 25. C++静的または非静的テンプレートメンバ関数
- 26. パブリック静的クラスのYAJSWエラー
- 27. ネストされたクラス:静的コンテキストで非静的フィールドにアクセスできません
- 28. 静的オブジェクト内で定義された非静的オブジェクトを処分する必要はありますか?
- 29. 最終静的arraylist関数で変更されました
- 30. デフォルトコンストラクタで初期化された静的変数はありますか?
ありがとうございました。最高の答え! – Harindaka
サンプルプログラムを実行しようとすると、メッセージでTypeLoadExceptionが発生します。アセンブリ 'ConsoleApplication1、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null'から 'Test'タイプを読み込めませんでした。 HResultは80131522です。 – DWright