如何在类构造函数中初始化字典

3

我有一个类,其中有一个属性类型为 Dictionary<>。 我尝试在构造函数中使用以下代码初始化该属性。 但是它会报错。为什么?

错误 1

'Permissions'是一个“属性”,但像一个“类型”进行使用。

代码:

public class UserModel
{
    public UserModel()   // constructor
    {
        Permissions = new Permissions<Guid, List<Guid>();
    }

    public Dictionary<Guid, List<Guid>> Permissions { get; set; }
}

所以你*正在尝试将Permissions用作类型。显然你想用Dictionary... - Patrick Hofman
1
我给你点赞,因为有些人踩了你。这可能是一个初学者问题,但至少包含了回答所需的所有信息。 - M4N
2个回答

5

您不能创建属性的实例。相反,您需要创建一个类型的实例并将其赋值给属性。

public class UserModel
 {
    public UserModel()   // constructor
    {
        Permissions = new Dictionary<Guid, List<Guid>>();
    }
    public Dictionary<Guid, List<Guid>> Permissions { get; set; }
  }

-2

试试这个

    public class UserModel
    {
       public Dictionary<Guid, List<Guid>> Permissions { get; set; }
       public UserModel()   // constructor
       {
           Permissions = new Dictionary<Guid,List<Guid>>();
       }

    }​

那已经在之前的回答中提到了。而“试试这个”并不是很有帮助。 - Patrick Hofman
首先,你不能禁用我的账户。其次,我没有点踩,所以你在对错的树上吠叫。 - Patrick Hofman
1
就像我说的,我的帖子和之前的只相差2分钟。我通常需要10分钟来准备一个恰当的回复,所以有时会出现重复的答案。 - jdweng

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接