Я ищу решение для своего проекта, где у меня есть Dictionary<string, object>
, и ведьма-помощник пытается получить какое-то конкретное значение из этого словаря.
Как вы можете видеть ниже, если я не наденуstringKey
, я пытаюсь получить stringKey
из @object
(теперь он вернет "объект" ).Конечно, я могу сделать это во время разговора, но это выглядит слишком плохо для меня.
Есть ли способ сделать это в этом методе?
public static bool GetValue<T>(Dictionary<string, object> dict, ref T @object,
string stringKey = "")
{
if (string.IsNullOrEmpty(stringKey))
{
stringKey = nameof(@object);
}
dict.TryGetValue(stringKey, out var Object);
if (Object != null)
{
@object = (T)Object;
return true;
}
return false;
}
Пример вызова:
DPH.GetValue(dictParam, ref Browser);
Ожидается, что метод stringKey
будет «Браузер» , как это будет в этом случае:
DPH.GetValue(dictParam, ref Browser, nameof(Browser));
Существуют определенные потребности, и мы не можем в настоящее время рефакторировать этот словарь для нашего объекта или нашего класса, вызываяс nameof()
возможно, но не решение.