public string GetNotationValue(string inputNotation, string inputValue, string outputNotation) { //проверяем параметры if (string.IsNullOrEmpty(inputNotation)) { throw new ArgumentException(nameof(inputNotation)); } if (string.IsNullOrEmpty(inputValue)) { throw new ArgumentException(nameof(inputValue)); } if (string.IsNullOrEmpty(outputNotation)) { throw new ArgumentException(nameof(outputNotation)); } //ищем входную нотацию, INotation inputN = _notations.SingleOrDefault(n => n.Name.Equals(inputNotation)); if (inputN == null) { return(String.Empty); } //ищем выходную нотацию INotation outputN = _notations.SingleOrDefault(n => n.Name.Equals(outputNotation)); if (outputN == null) { return(String.Empty); } //пытаемся присвоить входной нотации значение if (inputN.SetValue(inputValue)) { //передаем значение через int в выходную нотацию outputN.SetValue(inputN.ValueInt); //отдаем результат return(outputN.ValueString); } //иначе возвращаем пустую строку return(String.Empty); }