我有一个用户名和密码的用户登录表单 - 我想全局保存它们,以便在登录后可以使用它们。我尝试使用以下代码执行此操作:
namespace PassManager
{
struct SesUser
{
int id;
string username;
string password;
}
public class US
{
SesUser uu;
}
}
我尝试用一个成员public class
声明一个SesUser
,我想在我的所有cs
文件中访问该用户。我想问一下这是否是正确的方法,或者有更好的方法来完成这项任务?
去Project > Add Item > Class
并称之为CurrentUser
然后在里面创建public static parameters
Static
创建可通过类名本身访问的对象(不是从类创建的对象)
所以CurrentUser
类的例子是这样的:
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
中的任何类中访问前3个变量,如下所示:
public class SomeRandomClass
{
string ThisUserName = CurrentUser.Name;
string ThisUserFamilyName = CurrentUser.FamilyName;
CurrentUser.Age = 15;
}
可以从同一名称空间中的任何类访问静态对象。从一个类更改为静态对象将影响其他类中的该对象,因此在进行更改时要小心。
有关更多信息Access Modifiers
,请访问here
您可以创建一个全局类,该类将保留经过身份验证的用户名,然后如果该类用户名不为null,则可以访问。
或者您可以参考Microsoft提供的此链接
How to: Implement User Login with Client Application Services
让你的US
类静态,然后你可以从任何地方访问它:
public static class US
{
public static SesUser uu { get; set; }
}
然后你可以访问它:
US.uu
EG
System.Diagnostics.Debug.WriteLine($"{US.uu.id} {US.uu.username} {US.uu.password}");