c # Зависимость не получает экземпляр - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть абстрактный класс с зависимостью, я хотел бы добавить проверку, чтобы увидеть, является ли Loghelper нулевым и создает ли он объект.Ошибка, которую я получаю, это то, что Loghelper не может быть найден?

Как создать экземпляр зависимости?

enter image description here

enter image description here

    public abstract class ControllerBase : Controller
        {
            [Dependency]
            public ILogHelper LogHelper { get; set; }
private ILogHelper _logHelper;
        public ControllerBase(ILogHelper logHelper)
        {
            this._logHelper = logHelper;
        }
    public void ShowAlertMessage(string message, Messages type, bool session = false)
            {
                this.LogHelper = LogHelper;
                //if (null == LogHelper)
                //{
                //    LogHelper = new LogHelper();
                //}
                LogHelper.LogMessage("ShowAlertMessage: [" + type + "] " + message);

                if (!session)
                {
                    if (TempData[type.ToString()] != null)
                    {
                        TempData[type.ToString()] = message;
                    }
                    else
                    {
                        TempData.Add(type.ToString(), message);
                    }
                }
                else
                {
                    if (Session[type.ToString()] != null)
                    {
                        Session[type.ToString()] = message;
                    }
                    else
                    {
                        Session.Add(type.ToString(), message);
                    }
                }
            }
    }

1 Ответ

0 голосов
/ 30 ноября 2018

У вас должен быть конструктор, в котором вы передаете ссылку на зависимость, а затем устанавливаете свойство, равное значению, переданному в параметре

    ...
    private ILogHelper _logHelper;

    public ControllerBase(ILogHelper logHelper)
    {
        this._logHelper = logHelper;
    }
    ...
...