diff --git a/SabreTools.Library/Items/Archive.cs b/SabreTools.Library/Items/Archive.cs index d90e82e1..0a7f367d 100644 --- a/SabreTools.Library/Items/Archive.cs +++ b/SabreTools.Library/Items/Archive.cs @@ -22,7 +22,7 @@ namespace SabreTools.Library.Items #region Cloning Methods - public new object Clone() + public override object Clone() { Archive item = new Archive() { diff --git a/SabreTools.Library/Items/BiosSet.cs b/SabreTools.Library/Items/BiosSet.cs index d0bf495d..9c1a6997 100644 --- a/SabreTools.Library/Items/BiosSet.cs +++ b/SabreTools.Library/Items/BiosSet.cs @@ -44,7 +44,7 @@ namespace SabreTools.Library.Items #region Cloning Methods - public new object Clone() + public override object Clone() { BiosSet item = new BiosSet() { diff --git a/SabreTools.Library/Items/DatItem.cs b/SabreTools.Library/Items/DatItem.cs index e4a64d7b..85bfa206 100644 --- a/SabreTools.Library/Items/DatItem.cs +++ b/SabreTools.Library/Items/DatItem.cs @@ -438,26 +438,11 @@ namespace SabreTools.Library.Items #region Cloning Methods - public object Clone() - { - switch (_itemType) - { - case ItemType.Archive: - return ((Archive)this).Clone(); - case ItemType.BiosSet: - return ((BiosSet)this).Clone(); - case ItemType.Disk: - return ((Disk)this).Clone(); - case ItemType.Release: - return ((Release)this).Clone(); - case ItemType.Rom: - return ((Rom)this).Clone(); - case ItemType.Sample: - return ((Sample)this).Clone(); - } - - return null; - } + /// + /// Clone the DatItem + /// + /// Clone of the DatItem + public abstract object Clone(); /// /// Copy all machine information over in one shot diff --git a/SabreTools.Library/Items/Disk.cs b/SabreTools.Library/Items/Disk.cs index f7785592..7e24f299 100644 --- a/SabreTools.Library/Items/Disk.cs +++ b/SabreTools.Library/Items/Disk.cs @@ -74,7 +74,7 @@ namespace SabreTools.Library.Items #region Cloning Methods - public new object Clone() + public override object Clone() { Disk item = new Disk() { diff --git a/SabreTools.Library/Items/Release.cs b/SabreTools.Library/Items/Release.cs index d0eed1b9..53bf237b 100644 --- a/SabreTools.Library/Items/Release.cs +++ b/SabreTools.Library/Items/Release.cs @@ -60,7 +60,7 @@ namespace SabreTools.Library.Items #region Cloning Methods - public new object Clone() + public override object Clone() { Release item = new Release() { diff --git a/SabreTools.Library/Items/Rom.cs b/SabreTools.Library/Items/Rom.cs index 984f9f50..c56fad43 100644 --- a/SabreTools.Library/Items/Rom.cs +++ b/SabreTools.Library/Items/Rom.cs @@ -138,7 +138,7 @@ namespace SabreTools.Library.Items #region Cloning Methods - public new object Clone() + public override object Clone() { Rom item = new Rom() { diff --git a/SabreTools.Library/Items/Sample.cs b/SabreTools.Library/Items/Sample.cs index 43f9f8cc..924d2f84 100644 --- a/SabreTools.Library/Items/Sample.cs +++ b/SabreTools.Library/Items/Sample.cs @@ -22,7 +22,7 @@ namespace SabreTools.Library.Items #region Cloning Methods - public new object Clone() + public override object Clone() { Sample item = new Sample() {