假设我们希望在用户登录到应用程序后保留用户信息,以便在多个类上共享其数据,这是最好的方法。
通常我会在静态类中使用属性保存这样的内容:
public User CurrentUser { get; set; }
你的想法是什么?
提前致谢。
答案 0 :(得分:3)
在WPF中想象一下,您有一个名为UserInfo
的类,其中包含有关当前登录用户所需的所有信息:
// You can use your Application.Current.Resources dictionary to store the
// current logged-in user info.
Application.Current.Resources["UserInfo"] = userInfo;
然后,您可以使用以下代码检索应用程序中任何位置的当前用户信息对象:
var userInfo = Application.Current.Resources["UserInfo"] as UserInfo;
答案 1 :(得分:3)
您建议将用户信息存储在singleton中。这是一种众所周知的模式,在桌面应用程序中非常常用。单身模式也有很多耻辱,由于一些缺点,它常常令人不悦:
在桌面应用程序的上下文中,上面唯一可能存在问题的是第一个可测试性。在这种情况下,只需定义一个IUser
界面即可。
总之,是的,这很好。我过去曾多次使用过这种模式。