如何在 C# WinForms 应用程序(凭据)中创建全局用户?
How to create global user in C# WinForms app (credentials)?
我有一个包含用户名和密码的用户登录表单 - 我想将它们全局保存,以便在登录后可用。我尝试使用以下代码执行此操作:
namespace PassManager
{
struct SesUser
{
int id;
string username;
string password;
}
public class US
{
SesUser uu;
}
}
我尝试声明一个只有一个成员 SesUser
的 public class
,我想在我的所有 cs
文件中访问该用户。请问这是正确的做法还是有更好的方法来完成这个任务?
您可以创建一个全局 class 来保存经过身份验证的用户名,然后如果该 class 用户名不为空,则可以访问。
或者你可以参考微软提供的这个link
How to: Implement User Login with Client Application Services
将您的 US
class 设为静态,然后您就可以从任何地方访问它:
public static class US
{
public static SesUser uu { get; set; }
}
然后您可以通过以下方式访问它:
US.uu
例如
System.Diagnostics.Debug.WriteLine($"{US.uu.id} {US.uu.username} {US.uu.password}");
转到 Project > Add Item > Class
并将其命名为 CurrentUser
然后在里面创建public static parameters
Static
创建可通过 class 名称本身访问的对象(不是从 class 创建的对象)
所以 CurrentUser
class 的例子是这样的:
public static class CurrentUser
{
public static string Name; //Accessible with CurrentUser.Name
public static string FamilyName; //Accessible with CurrentUser.FamilyName
public static int Age; //Accessible with CurrentUser.Age
public bool initialized = false //Accessible only through object which is created using CurrentUser
}
所以现在您可以像这样从同一个 namespace
中的任何 class 访问前 3 个变量:
public class SomeRandomClass
{
string ThisUserName = CurrentUser.Name;
string ThisUserFamilyName = CurrentUser.FamilyName;
CurrentUser.Age = 15;
}
静态对象可从同一名称空间内的任何 class 访问。从一个 class 更改为静态对象会影响其他 class 中的对象,因此在进行更改时要小心。
可以找到有关 Access Modifiers
的更多信息 here
我有一个包含用户名和密码的用户登录表单 - 我想将它们全局保存,以便在登录后可用。我尝试使用以下代码执行此操作:
namespace PassManager
{
struct SesUser
{
int id;
string username;
string password;
}
public class US
{
SesUser uu;
}
}
我尝试声明一个只有一个成员 SesUser
的 public class
,我想在我的所有 cs
文件中访问该用户。请问这是正确的做法还是有更好的方法来完成这个任务?
您可以创建一个全局 class 来保存经过身份验证的用户名,然后如果该 class 用户名不为空,则可以访问。
或者你可以参考微软提供的这个link
How to: Implement User Login with Client Application Services
将您的 US
class 设为静态,然后您就可以从任何地方访问它:
public static class US
{
public static SesUser uu { get; set; }
}
然后您可以通过以下方式访问它:
US.uu
例如
System.Diagnostics.Debug.WriteLine($"{US.uu.id} {US.uu.username} {US.uu.password}");
转到 Project > Add Item > Class
并将其命名为 CurrentUser
然后在里面创建public static parameters
Static
创建可通过 class 名称本身访问的对象(不是从 class 创建的对象)
所以 CurrentUser
class 的例子是这样的:
public static class CurrentUser
{
public static string Name; //Accessible with CurrentUser.Name
public static string FamilyName; //Accessible with CurrentUser.FamilyName
public static int Age; //Accessible with CurrentUser.Age
public bool initialized = false //Accessible only through object which is created using CurrentUser
}
所以现在您可以像这样从同一个 namespace
中的任何 class 访问前 3 个变量:
public class SomeRandomClass
{
string ThisUserName = CurrentUser.Name;
string ThisUserFamilyName = CurrentUser.FamilyName;
CurrentUser.Age = 15;
}
静态对象可从同一名称空间内的任何 class 访问。从一个 class 更改为静态对象会影响其他 class 中的对象,因此在进行更改时要小心。
可以找到有关 Access Modifiers
的更多信息 here