В моем методе приведен код ниже (на самом деле asyn c stati c Task)
try
{
string responseValues = JSONtoKeyValue(responseBody);
Console.WriteLine("responseValues = " + responseValues);
//var dict = responseValues.Split('|').Select(x => x.Split('=')).ToDictionary(x => x[0], x => x[1]);
var dict = responseValues.Split('|')
.Select(x => x.Split('='))
.Where(x => x.Length > 1 && !String.IsNullOrEmpty(x[0].Trim())
&& !String.IsNullOrEmpty(x[1].Trim()))
.ToDictionary(x => x[0].Trim(), x => x[1].Trim());
Console.WriteLine("Dictionary created.");
Console.ReadLine();
foreach (KeyValuePair<string, string> entry in dict)
{
if (entry.Value == null)
{
dict.Remove(entry.Key);
}
else
{
string key = entry.Key;
string value = entry.Value;
if (cnsnt.GetType().GetTypeInfo().GetDeclaredProperty(key) != null)
{
cnsnt.GetType().GetTypeInfo().GetDeclaredProperty(key).SetValue(value);
}
}
}
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
Моя проблема двоякая. Во-первых, я не могу обработать дубликаты для словаря (хотел просто сохранить последнее значение, если ключ уже существует), но даже когда я пытаюсь без дубликатов, когда я пытаюсь проверить, есть ли у меня свойство, которое имеет ключ, Я получаю сообщение об ошибке Нет перегрузки для метода SetValue имеет только один аргумент.
Любая помощь будет оценена очень ..