创建Type Dictionary的属性

时间:2012-09-20 19:41:13

标签: c# dictionary

为什么我不能做这样的事情?

这是记录器类中的元素

public Dictionary<string, string> customProperties
        { get; set; }

这是界面中的属性......

 Dictionary<string, string> customProperties
        { get;  set; }

然后像这样称呼它......

DatabaseLogger.ILogger logger = new DatabaseLogger.Logger();

logger.customProperties.Add("companyName", "Company");
logger.customProperties.Add("application", "application");

我得到NullReferenceExcpetion - 我该如何避免呢?

1 个答案:

答案 0 :(得分:2)

唯一缺少的是属性的初始化 - 否则为null(意味着在其上调用Add将抛出NullReferenceException)。

DatabaseLogger.ILogger logger = new DatabaseLogger.Logger();

logger.customProperties = new Dictionary<string, string>();
logger.customProperties.Add("companyName", "Company");
logger.customProperties.Add("application", "application");

虽然在Logger构造函数中可能会做得更好:

public Logger()
{
  customProperties = new Dictionary<string, string>();
}