Public Overrides Function Clone() As System.Data.DataTable '************************************************************************ ' Procedure/Function: Clone() ' Author: Ben Santiago ' Created On: 2/3/2007 ' Description: ' This method was overridden because it is needed for the ' GetChanges() method, avoiding the need for a Parameterless ' Constructor. '************************************************************************ '*************************************** ' Initialize Variables '*************************************** Dim objClonedTable As ClassLibrary.SQLDBWrapper.ClassDataTable = Activator.CreateInstance(Me.GetType(), New Object() {Me.TableName, Me.Parent, Me._ReadOnly}) '*************************************** ' Manually ReCreate Each Field '*************************************** For Each objColumn As DataColumn In Me.Columns objClonedTable.Columns.Add(objColumn.ColumnName, objColumn.DataType) Next '*************************************** ' Return Cloned Object '*************************************** Return objClonedTable End FunctionThis simply calls the CreateInstance which in turn runs the appropriate Contructor based on the parameters. Then I go ahead and manually copy/recreate each Table Fieldname in the cloned object. and return that object for the GetChanges() to then populate. It appears to work perfectly.