2015-08-28 2 views
0
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 <строка, строка>

Но он бросает исключение, когда я пытаюсь добавить/заданные значения для IDictionary в этой строке

TagInfo.Add ("TagID", "тэг") ;.

Исключение:

объекта не задана ссылка на экземпляр объекта.

Пожалуйста, помогите мне, что я делаю неправильно. Заранее спасибо!

ответ

1

присвоить значение по умолчанию, используя инициализатор автозаполнения для C# 6 или выше.

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

это сработало. благодаря –

2

Ваш TagInfo словарь не инициализирован.

Добавить TagInfo=new Dictionary<string,strin>() перед добавлением элемента.

+0

Спасибо за ваш быстрый ответ. Но как инициализировать это.? –

+0

@ KishorBikramOli в ответе ... – Eser

+0

Хорошо, позвольте мне проверить. Еще раз спасибо. Будут, конечно, голосовать, если это сработает. Ура! –