У меня есть следующий класс HandleErrorModule
:
public sealed class HandleErrorModule : IHttpModule {
private static ILogger _logger;
private static CustomErrorsSection _section;
private static Dictionary<HttpStatusCode, String> _views;
private static CustomErrorsSection CustomErrorsSection {
get {
if (_section != null)
return _section;
else
return WebConfigurationManager.GetWebApplicationSection("system.web/customErrors") as CustomErrorsSection;
}
}
private static ILogger Logger {
get { return (_logger != null) ? _logger : ObjectFactory.GetInstance<ILogger>(); }
}
private static Dictionary<HttpStatusCode, String> Views {
get {
if (_views != null)
return _views;
else
return new Dictionary<HttpStatusCode, String> { { HttpStatusCode.NotFound, "NotFound_" }, { HttpStatusCode.InternalServerError, "Internal_" } };
}
}
public void Init(HttpApplication application) {
// Handle error code.
// Here I access CustomErrorsSection, Logger and Views properties
}
В получить предупреждение в:
Поле HandleErrorModule._views никогда не назначается и всегда будет иметь значение по умолчанию null Поле HandleErrorModule._section никогда не назначается и всегда будет иметь значение по умолчанию null Поле HandleErrorModule._logger никогда не назначается, и всегда будет иметь значение по умолчанию null
Что я делаю неправильно?
_views
— этоprivate
, и ни один из вашихprivate
методов или свойств никогда не присваивает ему значение. Поскольку этоprivate
, компилятор знает, что никакой другой код также не имеет возможности установить его значение. Таким образом, предупреждения. - person Yuck   schedule 09.03.2014