Dreamine.UI.Wpf 1.0.1
Dreamine.UI.Wpf 사용자 인터페이스 기능과 구성 요소를 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.UI.Wpf.Converters.NumberComparisonConverter 클래스 참조

더 자세히 ...

Dreamine.UI.Wpf.Converters.NumberComparisonConverter에 대한 상속 다이어그램 :
Dreamine.UI.Wpf.Converters.NumberComparisonConverter에 대한 협력 다이어그램:

Public 멤버 함수

object Convert (object value, Type targetType, object parameter, CultureInfo culture)
object ConvertBack (object value, Type targetType, object parameter, CultureInfo culture)

Private 멤버 함수

bool EvaluateCondition (double number, string condition)

상세한 설명

숫자를 AND와 OR로 결합된 비교 조건식과 평가합니다.

NumberComparisonConverter.cs 파일의 15 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ Convert()

object Dreamine.UI.Wpf.Converters.NumberComparisonConverter.Convert ( object value,
Type targetType,
object parameter,
CultureInfo culture )
inline

원본 숫자를 "||" 및 "&&" 조건식에 대해 평가합니다.

매개변수
value평가할 숫자입니다.
targetType대상 형식입니다.
parameter비교 조건식입니다.
culture사용하지 않는 문화권입니다.
반환값
OR 그룹 중 하나의 모든 조건이 참이면 true입니다.

NumberComparisonConverter.cs 파일의 65 번째 라인에서 정의되었습니다.

66 {
67 if (value == null || parameter == null)
68 return false;
69
70 if (!double.TryParse(value.ToString(), CultureInfo.InvariantCulture, out double number))
71 return false;
72
73 string expr = parameter.ToString()!.Trim();
74
75 var orParts = expr.Split(["||"], StringSplitOptions.RemoveEmptyEntries);
76
77 foreach (var orPart in orParts)
78 {
79 var andParts = orPart.Split(["&&"], StringSplitOptions.RemoveEmptyEntries);
80
81 bool andResult = true;
82 foreach (var cond in andParts)
83 {
84 if (!EvaluateCondition(number, cond.Trim()))
85 {
86 andResult = false;
87 break;
88 }
89 }
90
91 if (andResult)
92 return true;
93 }
94
95 return false;
96 }

다음을 참조함 : EvaluateCondition().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ ConvertBack()

object Dreamine.UI.Wpf.Converters.NumberComparisonConverter.ConvertBack ( object value,
Type targetType,
object parameter,
CultureInfo culture )
inline

역변환을 수행하지 않습니다.

매개변수
value대상 값입니다.
targetType원본 형식입니다.
parameter변환기 매개변수입니다.
culture변환 문화권입니다.
반환값
항상 Binding.DoNothing입니다.

NumberComparisonConverter.cs 파일의 200 번째 라인에서 정의되었습니다.

201 {
202 return Binding.DoNothing;
203 }

◆ EvaluateCondition()

bool Dreamine.UI.Wpf.Converters.NumberComparisonConverter.EvaluateCondition ( double number,
string condition )
inlineprivate

단일 "연산자 임계값" 조건을 평가합니다.

매개변수
number비교할 숫자입니다.
condition연산자와 임계값으로 구성된 조건입니다.
반환값
조건이 유효하고 만족되면 true입니다.

NumberComparisonConverter.cs 파일의 130 번째 라인에서 정의되었습니다.

131 {
132 var tokens = condition.Split(' ', StringSplitOptions.RemoveEmptyEntries);
133 if (tokens.Length != 2)
134 return false;
135
136 string op = tokens[0];
137 if (!double.TryParse(tokens[1], CultureInfo.InvariantCulture, out double threshold))
138 return false;
139
140 return op switch
141 {
142 ">" => number > threshold,
143 ">=" => number >= threshold,
144 "<" => number < threshold,
145 "<=" => number <= threshold,
146 "==" => Math.Abs(number - threshold) < double.Epsilon,
147 "!=" => Math.Abs(number - threshold) > double.Epsilon,
148 _ => false
149 };
150 }

다음에 의해서 참조됨 : Convert().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: