2016-11-30 9 views
2

Я получаю ниже упомянутой ошибки при assgining JSON объект так:Чтобы присвоить значения словаря

pushNotification.NotificationMessageList = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(response); 

Здесь NotificationMessageList словарь, как указано ниже:

Dictionary<string, string> NotificationMessageList { get; } 

Error: Property or indexer 'IPushNotifications.NotificationMessageList' cannot be assigned to -- it is read only (CS0200)

Может кто-нибудь Помогите мне решить проблему?

+0

Единственный способ - пропустить временный диплом и добавить каждый из них в ваш readonly dict. – Hopeless

+1

Сообщение об ошибке говорит все. Вы не можете назначить или установить значение «NotificationMessageList» –

ответ

4

Вы определили Dictionary как read-only property, поэтому он не позволит вам присваивать значения, если вы действительно хотите назначить средства, сделать его как обычное свойство, включить set; что означает, что определение свойства будет выглядеть следующим образом:

Dictionary<string, string> NotificationMessageList { get; set;} 

gettter и сеттер известны как Accessors, вы можете прочитать о них от This MSDN Blog

+0

, не относящееся к этому ответу, но в вашем профиле вы написали неправильное слово, * Профиль Professional * должен быть * Профессиональный профиль * - действительно, когда я увидел * Profectional * Я просто подумал что-то связанное с * Кондитерской *. – Hopeless

+1

@Hopeless: Спасибо за ценное предложение. Я обновил –

0

, очевидно, вы не можете deserialise ответа в словарь. вы бы вместо этого использовали JObject? он прост в использовании и довольно близок к словарю.

var o = JObject.Parse(response); 
//to get the value 
var value = o["key_name"].Value<type>()