[英]How to pass to a Generic and Pass from a Generic to another class?
登录我的应用程序时,我将cUserEntity
类传递到cUserEntity
该类包含已登录用户的所有详细信息,包括UserID和Username。 从这里开始,我可以继续在每个班级和每个窗体之间传递详细信息。 例如(忽略此示例中的通用位) :
登录:
xamlDashboard Manager = new xamlDashboard(_loggedInUser);
Generic Gen = new Generic(_loggedInUser);
Manager.Show();
仪表板:
cUserEntity _loggedInUser;
public xamlDashboard(cUserEntity loggedInUser)
{
InitializeComponent();
_loggedInUser = loggedInUser;
}
但是,我有一个Generic.Xaml
页面,该页面在每个窗口的顶部创建一个按钮。 后面Generic.xaml
是一个通用类,其保持click_event
为创建的按钮。 click_event
将打开一个新窗口,可打开另一个表单。
现在,我需要其他表单来具有已登录的用户详细信息,并且为此,我假定我需要传递给Generic.Xaml
,然后通过click_event
从那里传递给新表单。 但是,正如我阅读并注意到的那样,这似乎是不可能的,因为您无法在运行时将类型传递给Generic。
我希望达到的目标(失败了) :
public partial class Generic
{
cUserEntity _loggedInUser;
public Generic(cUserEntity loggedInUser)
{
_loggedInUser = loggedInUser;
}
private void btnHelp_Click(object sender, RoutedEventArgs e)
{
xamlHelp help = new xamlHelp(_loggedInUser);
help.Show();
}
}
因此,什么是能够做到这一点的最好,最有效的方法,如果可能的话,我们将欣赏一些示例。
创建一个单例对象来存储您登录的用户会更简单...
public class UserAccount
{
private static User _currentUser;
private UserAccount() {}
public static User CurrentUser
{
set
{
_currentUser = value;
}
get
{
return _currentUser;
}
}
}
然后,登录后您将执行此操作...
// Set the current User
UserAccount.CurrentUser = user;
然后,在任何课程中,您都需要当前登录的用户...您可以这样做...
var user = UserAccount.CurrentUser;
显然,您需要围绕此实现自己的业务规则,但是这个概念是我想要在此处介绍的内容,可以从任何地方访问该用户的静态单个实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.