From 3196c69d8ea66c07df2ec7fd1908ababc12e5c7d Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 7 Jan 2025 16:43:33 -0500 Subject: [PATCH] Make virtual DatItem.Equals easier to read --- SabreTools.DatItems/DatItem.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SabreTools.DatItems/DatItem.cs b/SabreTools.DatItems/DatItem.cs index 22bd83b8..cc7b0374 100644 --- a/SabreTools.DatItems/DatItem.cs +++ b/SabreTools.DatItems/DatItem.cs @@ -559,8 +559,16 @@ namespace SabreTools.DatItems /// True if the items are duplicates, false otherwise public virtual bool Equals(DatItem? other) { + // If the other value is null + if (other == null) + return false; + + // Get the types for comparison + ItemType selfType = GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue(); + ItemType otherType = other.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue(); + // If we don't have a matched type, return false - if (GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue() != other?.GetStringFieldValue(Models.Metadata.DatItem.TypeKey).AsEnumValue()) + if (selfType != otherType) return false; // Compare the internal models