我有一个名为Role
的类的代码public static class Role
{
private static Dictionary<string, List<Permissions>> _userRole;
private static List<Permissions> _userPermission;
public static Dictionary<string, List<Permissions>> UserRoleInfo
{
get { return _userRole; }
}
public Role()
{
_userRole = new Dictionary<string, List<Permissions>>();
_userPermission = new List<Permissions>();
}}
在另一个类中我试图从UserRoleInfo属性中获取匹配键的值
List<Permissions> value = Role.UserRoleInfo(authenticatedUserName)
但是我收到以下错误
Error 7 Non-invocable member 'User.Role.UserRoleInfo' cannot be used like a method.
任何想法如何绕过它或我的错误在哪里,因为使用
if(Role.UserRoleInfo.ContainsKey(authenticatedUserName))
工作正常
答案 0 :(得分:0)
您需要使用方括号来访问字典的成员:
List<Permissions> value = Role.UserRoleInfo[authenticatedUserName];
答案 1 :(得分:0)
在C#中获取字典值的正确语法是
Role.UserRoleInfo[authenticatedUserName]
从实例构造函数初始化静态成员是个坏主意。您可能希望构造函数也是static
。 (或使字段和属性非静态 - 以您的使用更有意义为准)