C# 如何传递到泛型并从泛型传递到另一个类?

C# 如何传递到泛型并从泛型传递到另一个类?,c#,wpf,xaml,generics,generic.xaml,C#,Wpf,Xaml,Generics,Generic.xaml,当我登录到我的应用程序时,我将cUserEntity类传递到仪表板表单,该类保存登录用户的所有详细信息,包括UserID和Username。从这里,我可以继续把细节从一个班级传递到另一个班级,从一个表格传递到另一个表格。例如(忽略本例中的通用位): 登录: xamlDashboard Manager = new xamlDashboard(_loggedInUser); Generic Gen = new Generic(_loggedInUser); Manager.Show(); c

当我登录到我的应用程序时,我将
cUserEntity
类传递到仪表板表单,该类保存登录用户的所有详细信息,包括UserID和Username。从这里,我可以继续把细节从一个班级传递到另一个班级,从一个表格传递到另一个表格。例如(忽略本例中的通用位):

登录:

 xamlDashboard Manager = new xamlDashboard(_loggedInUser);
 Generic Gen = new Generic(_loggedInUser);
 Manager.Show();
cUserEntity _loggedInUser;

  public xamlDashboard(cUserEntity loggedInUser)
    {

        InitializeComponent();

        _loggedInUser = loggedInUser;
    }
仪表板:

 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
后面是一个泛型类,它为创建的按钮保存
单击事件。
单击事件
打开另一个窗体的新窗口

现在,我需要另一个表单来获得登录的用户详细信息,为此,我假设需要传递到
Generic.Xaml
,然后通过
单击事件
从那里传递到新表单。然而,正如我读过并注意到的,这似乎是不可能的,因为在运行时不能将类型传递给泛型

我希望实现的目标(失败):


因此,能够做到这一点的最佳和最有效的方法是什么,如果可能的话,请举例说明。

创建一个单例对象来存储登录用户会简单得多

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;

显然,您需要围绕这一点实施您自己的业务规则,但这一概念正是我在这里试图表达的,它是一个静态的用户实例,可以从任何地方访问。

谢谢您的回答。我从来没有想过要做那件事,现在想想,我当时做这件事的方式似乎相当愚蠢。谢谢你的帮助!