簡體   English   中英

如何傳遞給泛型並將泛型傳遞給另一個類?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM