//Добавляет описание ошибки со строковым ключом private ErrDescr AddDescr(string text, ErrorQuality quality) { ErrDescr errDescr; lock (_locker) { if (!_errDescrsS.ContainsKey(text)) { errDescr = new ErrDescr(text, quality); _errDescrsS.Add(text, errDescr); } else { errDescr = _errDescrsS[text]; } } return(errDescr); }
//Добавляет описание ошибки с числовым ключом private ErrDescr AddDescr(int number, string text, ErrorQuality quality) { ErrDescr errDescr; lock (_locker) { if (!_errDescrsI.ContainsKey(number)) { errDescr = new ErrDescr(text, quality, number); _errDescrsI.Add(number, errDescr); } else { errDescr = _errDescrsI[number]; } } return(errDescr); }
//Формирование ошибки по сообщению public ErrMom MakeError(IErrorAddress addr, string text, ErrorQuality quality = ErrorQuality.Error) { var descr = AddDescr(text, quality); return(descr.AddErrMom(addr)); }
//Добавить описание для номера ошибки public void AddNumberErrText(int number, string text, ErrorQuality quality) { AddDescr(number, text, quality); }
internal ErrDescr(string text, ErrorQuality quality, int number = 0) { Text = text; Quality = quality; Number = number; }