我正在尝试实施一个Windows桌面应用程序c#VS 2010. To Application有一个登录表单,要求用户输入他的用户名和密码。并且应用程序在数据库中检查它们并返回保存在数据库中的用户数据(id,权限,电子邮件,电话)。
以编程方式,当登录数据有效且正确时,我会从分类的类中创建一个瞬间" clsUser"它为用户提供字段。 然后正常填写数据类,然后打开主表单和子表单。 我的问题是,如何在整个应用程序中访问用户类(例如,检查他是否具有访问表单的权限)。我尝试了不同的方法,如Calling string permission = FormLogin.clsUser.permission();但它并不好。
感谢您的帮助或任何建议!!
int id;
string fname;
string lname;
string uUsername;
public clsUser()
{ }
public int UserID
{
get { return id; }
set { id = value; }
}
public string FirstName
{
get { return fname; }
set { fname = value; }
}
public string LastName
{
get { return lname; }
set { lname = value; }
}
public string Username
{
get { return uUsername; }
set { uUsername = value; }
}
public override string ToString()
{
return base.ToString();
}
答案 0 :(得分:2)
您可以通过将此对象设置为静态来访问整个应用程序:
public static class clsUser() { }
现在您可以使用以下方式访问其属性:
string userPermission = clsUser.Permission;
您可以通过以下方式设置属性:
clsUser.Permission = "Administrator";
您不必创建静态类的新实例。您可以通过调用它的类名(在您的情况下为clsUser)和您想要访问的属性名称(如上所述)来调用整个应用程序。
希望这很有用;)
答案 1 :(得分:1)
您可以使用单例模式创建Global类。在里面你可以把你的实际用户作为一个属性,并通过
访问它var user = Global.Current.User;
var permission = Global.Current.User.Permission;
我在这里找到了单身模式的主题 Thread Safe C# Singleton Pattern