[英]how to create static class List property inside static class
我创建了以下课程:
public static class Current
{
public static class User
{
public static int UserID { get; set; }
public static string UserName { get; set; }
public static List<UserRole> Role { get; set; }
}
public static class UserRole
{
public static int RoleID { get; set; }
public static string RoleName { get; set; }
}
}
但这会给我一个错误:在这一行
public static List<UserRole> Role { get; set; }
错误1'Framework.Security.Current.UserRole':静态类型不能用作类型参数
这与您尝试使用类的位置无关-它与您不能将静态类用作类型参数的事实有关。 鉴于您无法创建静态类的实例, List<UserRole>
怎么可能有用?
我强烈怀疑这些类不应该从静态类开始-到底为什么要让它们成为静态类?
(也不清楚为什么应该嵌套类,但这是另一回事。)
我了解您要做什么。 (尽管您的做法有点错误。)唯一的静态类应该是User,并且不应嵌套。 您的设计还有其他一些问题,但最终每个人的工作方式都不一样。
这是在静态类中包含列表的一种方式。
public static class CurrentUser
{
public static int UserID { get; set; }
public static string UserName { get; set; }
public static List<UserRole> Role()
{
//Call another class with method to fill the list
AnotherClass _anotherClass = new AnotherClass();
return _anotherClass.Roles();
}
}
然后有一个非静态的UserRole
public class UserRole
{
public int RoleID { get; set; }
public string RoleName { get; set; }
}
从中检索数据的类应包含一种填充列表的方法
public class AnotherClass
{
public List<UserRole> Roles()
{
List<UserRole> outList = new List<UserRole>();
//Fill the List with your UserRoles
foreach (object MyData in MyDataList)
{
UserRole myRole = new UserRole();
outList.Add(myRole);
}
return outList;
}
}
这里的问题是您不能将UserRole用作列表的类型。 由于这是一个静态类,因此没有任何意义。 列表由作为类实例的对象组成。 没有静态类的实例。
您应该重新考虑您的设计,因为它存在一些严重的缺陷。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.