Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ BaseAdd()

void System.Data.DataColumnCollection.BaseAdd ( [NotNull] DataColumn column)
inlineprivate

Definition at line 253 of file DataColumnCollection.cs.

254 {
255 if (column == null)
256 {
257 throw ExceptionBuilder.ArgumentNull("column");
258 }
259 if (column._table == _table)
260 {
261 throw ExceptionBuilder.CannotAddColumn1(column.ColumnName);
262 }
263 if (column._table != null)
264 {
265 throw ExceptionBuilder.CannotAddColumn2(column.ColumnName);
266 }
267 if (column.ColumnName.Length == 0)
268 {
269 column.ColumnName = AssignName();
270 }
271 RegisterColumnName(column.ColumnName, column);
272 try
273 {
274 column.SetTable(_table);
275 if (!_table.fInitInProgress && column.Computed && column.DataExpression.DependsOn(column))
276 {
277 throw ExceptionBuilder.ExpressionCircular();
278 }
279 if (0 < _table.RecordCapacity)
280 {
281 column.SetCapacity(_table.RecordCapacity);
282 }
283 for (int i = 0; i < _table.RecordCapacity; i++)
284 {
285 column.InitializeRecord(i);
286 }
287 if (_table.DataSet != null)
288 {
289 column.OnSetDataSet();
290 }
291 }
292 catch (Exception e) when (ADP.IsCatchableOrSecurityExceptionType(e))
293 {
294 UnregisterName(column.ColumnName);
295 throw;
296 }
297 }
static bool IsCatchableOrSecurityExceptionType(Exception e)
Definition ADP.cs:800
void RegisterColumnName(string name, DataColumn column)

References System.Data.DataColumnCollection._table, System.Data.ExceptionBuilder.ArgumentNull(), System.Data.DataColumnCollection.AssignName(), System.Data.ExceptionBuilder.CannotAddColumn1(), System.Data.ExceptionBuilder.CannotAddColumn2(), System.Data.DataTable.DataSet, System.Data.ExceptionBuilder.ExpressionCircular(), System.Data.DataTable.fInitInProgress, System.Data.Common.ADP.IsCatchableOrSecurityExceptionType(), System.Data.DataTable.RecordCapacity, System.Data.DataColumnCollection.RegisterColumnName(), and System.Data.DataColumnCollection.UnregisterName().

Referenced by System.Data.DataColumnCollection.AddAt(), and System.Data.DataColumnCollection.BaseGroupSwitch().