//Добавляет ошибку с указанным адресом, если такого адреса еще не было public ErrMom AddErrMom(IErrorAddress addr) { var locker = new object(); lock (locker) { if (!_addrs.ContainsKey(addr)) { var errMom = new ErrMom(this, addr); _addrs.Add(addr, errMom); return(errMom); } return(_addrs[addr]); } }
//Формирование ошибки по номеру public ErrMom MakeError(IErrorAddress addr, int number) { var descr = AddDescr(number, "", ErrorQuality.Error); return(descr.AddErrMom(addr)); }
//Формирование ошибки по сообщению public ErrMom MakeError(IErrorAddress addr, string text, ErrorQuality quality = ErrorQuality.Error) { var descr = AddDescr(text, quality); return(descr.AddErrMom(addr)); }
internal ErrMom(ErrDescr errDescr, IErrorAddress address) { _errDescr = errDescr; AddressLink = address; }