Skip to content

Commit 2e75f6e

Browse files
committed
Make converter classes sealed and simplify null checks
All converter classes are now sealed to prevent inheritance, improving clarity and potential performance. Null checks in Percent100 converters are simplified using the null-coalescing assignment operator.
1 parent 06694e0 commit 2e75f6e

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

QuickLook.Plugin/QuickLook.Plugin.ArchiveViewer/Converters.cs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@
2323

2424
namespace QuickLook.Plugin.ArchiveViewer;
2525

26-
public class Percent100ToVisibilityVisibleConverter : DependencyObject, IValueConverter
26+
public sealed class Percent100ToVisibilityVisibleConverter : DependencyObject, IValueConverter
2727
{
2828
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
2929
{
30-
if (value == null)
31-
value = 0;
30+
value ??= 0;
3231

3332
var percent = (double)value;
3433
return Math.Abs(percent - 100) < 0.00001 ? Visibility.Visible : Visibility.Collapsed;
@@ -40,12 +39,11 @@ public object ConvertBack(object value, Type targetTypes, object parameter, Cult
4039
}
4140
}
4241

43-
public class Percent100ToVisibilityCollapsedConverter : DependencyObject, IValueConverter
42+
public sealed class Percent100ToVisibilityCollapsedConverter : DependencyObject, IValueConverter
4443
{
4544
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
4645
{
47-
if (value == null)
48-
value = 0;
46+
value ??= 0;
4947

5048
var percent = (double)value;
5149
return Math.Abs(percent - 100) < 0.00001 ? Visibility.Collapsed : Visibility.Visible;
@@ -57,7 +55,7 @@ public object ConvertBack(object value, Type targetTypes, object parameter, Cult
5755
}
5856
}
5957

60-
public class LevelToIndentConverter : DependencyObject, IMultiValueConverter
58+
public sealed class LevelToIndentConverter : DependencyObject, IMultiValueConverter
6159
{
6260
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
6361
{
@@ -75,7 +73,7 @@ public object[] ConvertBack(object value, Type[] targetTypes, object parameter,
7573
}
7674
}
7775

78-
public class LevelToBooleanConverter : DependencyObject, IValueConverter
76+
public sealed class LevelToBooleanConverter : DependencyObject, IValueConverter
7977
{
8078
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
8179
{
@@ -90,7 +88,7 @@ public object ConvertBack(object value, Type targetType, object parameter, Cultu
9088
}
9189
}
9290

93-
public class BooleanToAsteriskConverter : DependencyObject, IValueConverter
91+
public sealed class BooleanToAsteriskConverter : DependencyObject, IValueConverter
9492
{
9593
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
9694
{
@@ -105,7 +103,7 @@ public object ConvertBack(object value, Type targetType, object parameter, Cultu
105103
}
106104
}
107105

108-
public class SizePrettyPrintConverter : DependencyObject, IMultiValueConverter
106+
public sealed class SizePrettyPrintConverter : DependencyObject, IMultiValueConverter
109107
{
110108
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
111109
{
@@ -121,7 +119,7 @@ public object[] ConvertBack(object value, Type[] targetTypes, object parameter,
121119
}
122120
}
123121

124-
public class DatePrintConverter : DependencyObject, IMultiValueConverter
122+
public sealed class DatePrintConverter : DependencyObject, IMultiValueConverter
125123
{
126124
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
127125
{
@@ -137,7 +135,7 @@ public object[] ConvertBack(object value, Type[] targetTypes, object parameter,
137135
}
138136
}
139137

140-
public class FileExtToIconConverter : DependencyObject, IMultiValueConverter
138+
public sealed class FileExtToIconConverter : DependencyObject, IMultiValueConverter
141139
{
142140
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
143141
{

0 commit comments

Comments
 (0)