【发布时间】:2012-03-12 11:54:47
【问题描述】:
我创建了包含 3 个类似项目的解决方案。
//Project Name: ClientProject
public class UserDetails
{
public static int ID { get; set; }
public static string Name { get; set; }
public static string Email { get; set; }
}
上面的这个类应该设置一次,当用户登录之后,我想在整个解决方案中访问这些详细信息。
如管理、SalesInfo 项目。
//Project Name: Administration
public class Admin
{
public static UserDetails Details
{
//Here i would like to return UserDetails
get;
}
public static int DepartmentID { get; set; }
public static string Phone { get; set; }
public static string Head { get; set; }
}
//Project Name: SalesInfo
public class Sales
{
public static UserDetails Details
{
//Here i would like to return UserDetails
get;
}
public static DateTime Date { get; set; }
public static string Item { get; set; }
public static int Price { get; set; }
}
任何答案、评论或建议将不胜感激
【问题讨论】:
-
这是一个网络应用程序吗?赢得表格? WPF?每个人都应该可以访问该信息还是“每个用户”?你看过设计模式吗?
-
这是一个非常糟糕的设计决策。使用 OOP 机制难以测试且无法扩展。如果您想要一个类的单个实例,请查找 Singleton 模式,但一定要让您的类成员实例化。从你的问题我推测
static,你的意思是只读? -
你可以使用静态构造函数。
-
1.您有具有完全静态成员的非静态类。 2. 您不需要将
UserDetails公开为这些其他类的静态属性——它已经可以全局访问,只需在需要时以UserDetails.Name&c 的形式访问它。 -
这是一个可怕的想法......
标签: c# properties static-class