diff --git a/src/Artemis.UI.Shared/DataModelVisualization/Shared/DataModelVisualizationViewModel.cs b/src/Artemis.UI.Shared/DataModelVisualization/Shared/DataModelVisualizationViewModel.cs index 029a6dc18..249b422c4 100644 --- a/src/Artemis.UI.Shared/DataModelVisualization/Shared/DataModelVisualizationViewModel.cs +++ b/src/Artemis.UI.Shared/DataModelVisualization/Shared/DataModelVisualizationViewModel.cs @@ -163,21 +163,16 @@ public abstract class DataModelVisualizationViewModel : ReactiveObject, IDisposa /// /// Whether the type may be a loose match, meaning it can be cast or converted /// The types to filter - public void ApplyTypeFilter(bool looseMatch, params Type[]? filteredTypes) + public void ApplyTypeFilter(bool looseMatch, params Type?[]? filteredTypes) { if (filteredTypes != null) - { - if (filteredTypes.All(t => t == null)) - filteredTypes = null; - else - filteredTypes = filteredTypes.Where(t => t != null).ToArray(); - } + filteredTypes = filteredTypes.All(t => t == null) ? null : filteredTypes.Where(t => t != null).ToArray(); // If the VM has children, its own type is not relevant if (Children.Any()) { foreach (DataModelVisualizationViewModel child in Children) - child?.ApplyTypeFilter(looseMatch, filteredTypes); + child.ApplyTypeFilter(looseMatch, filteredTypes); IsMatchingFilteredTypes = true; return; @@ -287,7 +282,7 @@ public abstract class DataModelVisualizationViewModel : ReactiveObject, IDisposa foreach (PropertyInfo propertyInfo in modelType.GetProperties(BindingFlags.Public | BindingFlags.Instance).OrderBy(t => t.MetadataToken)) { string childPath = AppendToPath(propertyInfo.Name); - if (Children.Any(c => c?.Path != null && c.Path.Equals(childPath))) + if (Children.Any(c => c.Path != null && c.Path.Equals(childPath))) continue; if (propertyInfo.GetCustomAttribute() != null) continue;