-5

なぜ私はこのようなことをすることができないのですか?

これはロガークラスのプロパティです

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- どうすれば回避できますか?

4

1 に答える 1

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>();
}
于 2012-09-20T19:44:18.780 に答える