无法设置/获取IDictionary <string,string>的值

时间:2015-08-28 16:48:24

标签: c# .net windows windows-phone-8.1

public sealed class KnowledgeBase
{
    public KnowledgeBase(string json)
    {
        KnowledgeBaseItemId = "109";
        Description = "description";
        Filename = "abc.txt";
        TagInfo.Add("tagid","tagname");

    }

    public string KnowledgeBaseItemId { get; set; }

    public string Description { get; set; }

    public string Filename { get; set; }

    public string FCKText { get; set; }

    public string DateCreated { get; set; }

    public IDictionary<string,string> TagInfo  { get; set; }

}

这是我的代码段。它为KnowledgeBaseItemId,Description,Filename等设置和获取值。

但是当我尝试在此行中为IDictionary添加/设置值时,它会引发异常

TagInfo.Add(&#34;标签识别&#34;&#34;标记名&#34);

例外是:

  

对象引用未设置为对象的实例。

请帮助我做错了什么。在此先感谢!

2 个答案:

答案 0 :(得分:2)

您的TagInfo字典未初始化。

在添加元素之前添加TagInfo=new Dictionary<string,strin>()

答案 1 :(得分:1)

使用C#6或更高版本的Auto-property initializer指定默认值。

public IDictionary<string,string> TagInfo  { get; set; } = new Dictionary<string,string>();