【发布时间】:2022-01-17 05:58:47
【问题描述】:
我有一个包含 Dictionary 字段的类。 我想将每个插入记录到字典中。 最优雅的方法是什么?
我尝试定义字典的属性,并将日志放在set方法中:
private Dictionary<string, string> _myDictionary = new Dictionary<string, string>();
private Dictionary<string, string> MyDictionary
{
get
{
return _myDictionary;
}
set
{
_logger.Trace($"MyDictionary.set: value = {value}");
_myDictionary = value;
}
}
但它与插入无关,仅与字典引用的分配有关。 我想像以下操作一样“捕获”键值集,并将其记录下来:
MyDictionary["key"] = "some value";
怎么做?
【问题讨论】:
-
为什么不创建一个使用支持字典并公开各种操作方法的类?您可以执行任何需要的清理/记录,并且意图清晰明了。
-
我想也许有一种通用的方法可以做到这一点,或者语言中的特定语法,如索引器或类似的东西,而不需要编写包装器。谢谢!
标签: c# dictionary logging indexing properties