我想知道我的方法是否可以跨多個表單使用方法是安全的,或者如果我的方法可能存在問題,我不知道。關於在c#WinForms中使用多種表單可用的方法的問題
我目前正在研究一個有十幾種形式的應用程序,並且有許多這些形式被調用的某些方法,所以在每個表單上改爲或重新創建它們,我創建了一個名爲Globals.cs
的新類,我創建了一系列我在整個應用程序中調用的類和方法。
我還沒有注意到我的設置有任何問題,但我擔心的是,如果我的Globals.cs中的一個方法會被不同的窗體同時調用,會發生什麼?我有無效的方法,寫入數據傳遞給SQL表,我有方法返回數據。
我以某種形式使用BackGroundWorkers
,如果其中一個方法被兩個不同的Worker同時調用,或者通過Worker和另一個表單上的方法調用,會發生什麼?
這裏是我的Globals.cs類和一些裏面的方法的示例。
class Globals
{
public static string getUserSetting(string userID, string form, string obj_name)
{
string value = "";
// Get setting value from SQL Table and assign it to return variable
return value;
}
public static void saveUserSetting(string userID, string form, string obj_name, string value)
{
// Save Passed in settings to SQL Table
}
public static string getEnviro()
{
if (!string.IsNullOrEmpty(Settings.Default.EnvironmentDefault))
return Settings.Default.EnvironmentDefault.ToString();
else
return "Live";
}
public class Properties
{
public static System.Drawing.Color colorPropertyFromString(string stringValue)
{
System.Drawing.Color returnValue = System.Drawing.Color.Empty;
if (!string.IsNullOrEmpty(stringValue))
{
int colorIntVal = -1;
bool output;
output = int.TryParse(stringValue, out colorIntVal);
returnValue = System.Drawing.Color.FromArgb(colorIntVal);
}
return returnValue;
}
}
}
/*
I use this Class to create new instances of SqlConnections through my application.
Example: If I need a new SqlConnection I would go:
SqlConnection conn = new SqlConnection(Conn.ConnectionString);
*/
public sealed class Conn
{
public static string ConnectionString = Settings.Default.ArborgConnectionString.ToString();
}
不確定你遵循什麼標準和命名約定。我建議你重命名你的一些方法和類,如下所示:'GetUserSetting'' SaveUserSetting'' GetEnvironment'' ColorPropertyFromString''Connection'。 – HappyCoding