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()
{