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

◆ ItemArray

object? [] System.Data.DataRow.ItemArray
getset

Definition at line 302 of file DataRow.cs.

303 {
304 get
305 {
307 object[] array = new object[_columns.Count];
308 for (int i = 0; i < array.Length; i++)
309 {
310 DataColumn dataColumn = _columns[i];
312 }
313 return array;
314 }
315 set
316 {
317 if (value == null)
318 {
319 throw ExceptionBuilder.ArgumentNull("ItemArray");
320 }
321 if (_columns.Count < value.Length)
322 {
323 throw ExceptionBuilder.ValueArrayLength();
324 }
325 DataColumnChangeEventArgs dataColumnChangeEventArgs = null;
327 {
328 dataColumnChangeEventArgs = new DataColumnChangeEventArgs(this);
329 }
330 bool flag = BeginEditInternal();
331 for (int i = 0; i < value.Length; i++)
332 {
333 object obj = value[i];
334 if (obj == null)
335 {
336 continue;
337 }
338 DataColumn dataColumn = _columns[i];
339 if (-1 != rowID && dataColumn.ReadOnly)
340 {
341 throw ExceptionBuilder.ReadOnly(dataColumn.ColumnName);
342 }
343 if (dataColumnChangeEventArgs != null)
344 {
345 dataColumnChangeEventArgs.InitializeColumnChangeEvent(dataColumn, obj);
347 }
348 if (dataColumn.Table != _table)
349 {
350 throw ExceptionBuilder.ColumnNotInTheTable(dataColumn.ColumnName, _table.TableName);
351 }
352 if (-1 != rowID && dataColumn.ReadOnly)
353 {
354 throw ExceptionBuilder.ReadOnly(dataColumn.ColumnName);
355 }
356 if (_tempRecord == -1)
357 {
359 }
360 object obj2 = ((dataColumnChangeEventArgs != null) ? dataColumnChangeEventArgs.ProposedValue : obj);
361 if (obj2 == null)
362 {
363 if (dataColumn.IsValueType)
364 {
365 throw ExceptionBuilder.CannotSetToNull(dataColumn);
366 }
367 obj2 = DBNull.Value;
368 }
369 try
370 {
373 }
374 catch (Exception e) when (ADP.IsCatchableOrSecurityExceptionType(e))
375 {
376 if (flag)
377 {
378 CancelEdit();
379 }
380 throw;
381 }
383 if (dataColumnChangeEventArgs != null)
384 {
386 }
387 }
388 EndEdit();
389 }
390 }
static bool IsCatchableOrSecurityExceptionType(Exception e)
Definition ADP.cs:800
readonly DataColumnCollection _columns
Definition DataRow.cs:14
bool BeginEditInternal()
Definition DataRow.cs:500
DataColumn? LastChangedColumn
Definition DataRow.cs:59
int GetProposedRecordNo()
Definition DataRow.cs:854
readonly DataTable _table
Definition DataRow.cs:12
virtual void OnColumnChanged(DataColumnChangeEventArgs e)
virtual void OnColumnChanging(DataColumnChangeEventArgs e)

Referenced by System.Data.DataTableReader.GetValues(), and System.Data.DataTableExtensions.LoadTableFromEnumerable< T >().