[英]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.