[英]How to get a static property declared from another instance. c#
我的C#應用程序已執行,並設置了一個靜態變量“ _user”。 后記另一個應用程序在相同的過程下執行,並且它必須讀取該變量。 我無法獲得預期的結果。
應用程序1:設置_user變量:
public class Program { public static void Main(string[] args) { LoginDialog login = new LoginDialog(); login.RunDialog(); } }
Application調用的類,它設置變量_User
public class LoginDialog { private static string _user; public void RunDialog() { _user = "Peter"; } public static string User { get { return _user; } } }
應用程序2:獲取聲明的靜態變量:
public class Program { public static void Main(string[] args) { string s = LoginDialog.User; } }
這是不可能的,因為每個進程都有自己的地址空間,因此也有自己的LoginDialog.User
實例。 您需要使用某種類型的進程間通信,例如共享內存或命名管道。
順便說一句:從另一個啟動一個應用程序不會導致一個進程執行兩個應用程序。 每個應用程序都有其自己的過程。
我懷疑托管您的應用程序的任何對象都在為每個應用程序創建一個新的AppDomain
。 這將它們彼此隔離,就好像它們處於不同的過程中一樣。
我建議您將結果保存到磁盤,而不要嘗試使用靜態變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.