![](/img/trans.png)
[英]how to implement update button for datagridview and save values to database using a dataHandler class(data access class) c#
[英]C#: How to save data in class and access it anywhere
可以說我有一些要存儲的數據,並使其在所有地方可用,直到關閉應用程序為止。
public class Storage(){
public string Aa {set; get;}
public int Bb {set; get;}
}
var insert = new Storage{
Aa = "Im a string",
Bb = 123
};
現在,我需要進行哪些更改以使insert
對象在任何地方都可用,直到關閉應用程序? 換句話說,如何在Storage
類中保存數據並使其可用,直到關閉應用程序?
您必須將變量insert
定義為靜態變量,以便就定義該變量的類而言,您可以從應用程序中的任何位置訪問它們。 因此,insert變量的定義應類似於以下內容:
public static Storage insert = new Storage(){Aa = "Im a string",Bb = 123};
讓我假設變量是在名為AppVariables
的類中定義的,您可以從任何其他類訪問它們,如下所示:
AppVariables.insert;
您可以為您的類提供一個公開的靜態屬性,以暴露自身的實例( 單例模式 )。 這樣,您可以在任何地方訪問您的類屬性:
public class Storage
{
private Storage() {}
private static readonly Lazy<Storage> instance = new Lazy<Storage>(() => new Storage());
public static Storage Instance { get { return instance.Value; } }
public string Aa {set; get;}
public int Bb {set; get;}
}
//access anywhere:
Console.WriteLine(Storage.Instance.Aa);
您可以使用靜態變量,以便可以從項目中的任何其他類訪問它們,並且只要服務正在運行,它們就將保留數據。 嘗試類似:
public class Storage() {
public static string Aa {set; get;}
public static int Bb {set; get;}
}
注意:您可以創建靜態類/ var的單個實例! 如果必須保留多對,最好使用靜態字典:
public class Storage() {
public static Dictionary<string, int> storages {set; get;}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.