我正在为我的项目寻找解决方案,我有Dictionary<string, object>
一个辅助方法,女巫正试图从这本字典中获取一些特定的价值。
正如您在下面看到的,如果我没有 a 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
是"Browser",因为在这种情况下:
DPH.GetValue(dictParam, ref Browser, nameof(Browser));
有特定的需求,我们目前无法将该字典重构为我们的对象或我们的类,调用 withnameof()
是可能的,但不是解决方案。