我正在为我的项目寻找解决方案,我有一个Dictionary<string, object>
一个辅助方法女巫正在尝试从这本字典中获取一些特定的值。
正如你在下面看到的,如果我没有stringKey
,我正在努力做到这一点stringKey
来自@object
(现在它会返回"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()
是可能的,但不是解决方案。