System.Data.ForeignKeyConstraint.Clone C# (CSharp) Метод

Clone() приватный Метод

private Clone ( DataTable destination ) : ForeignKeyConstraint
destination DataTable
Результат ForeignKeyConstraint
        internal ForeignKeyConstraint Clone(DataTable destination)
        {
            Debug.Assert(Table == RelatedTable, "We call this clone just if we have the same datatable as parent and child ");
            int keys = Columns.Length;
            DataColumn[] columns = new DataColumn[keys];
            DataColumn[] relatedColumns = new DataColumn[keys];

            int iDest = 0;

            for (int i = 0; i < keys; i++)
            {
                DataColumn src = Columns[i];
                iDest = destination.Columns.IndexOf(src.ColumnName);
                if (iDest < 0)
                {
                    return null;
                }
                columns[i] = destination.Columns[iDest];

                src = RelatedColumnsReference[i];
                iDest = destination.Columns.IndexOf(src.ColumnName);
                if (iDest < 0)
                {
                    return null;
                }
                relatedColumns[i] = destination.Columns[iDest];
            }
            ForeignKeyConstraint clone = new ForeignKeyConstraint(ConstraintName, relatedColumns, columns);
            clone.UpdateRule = UpdateRule;
            clone.DeleteRule = DeleteRule;
            clone.AcceptRejectRule = AcceptRejectRule;

            // ...Extended Properties
            foreach (object key in ExtendedProperties.Keys)
            {
                clone.ExtendedProperties[key] = ExtendedProperties[key];
            }

            return clone;
        }

Same methods

ForeignKeyConstraint::Clone ( DataSet destination ) : Constraint
ForeignKeyConstraint::Clone ( DataSet destination, bool ignorNSforTableLookup ) : Constraint