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