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

◆ GetDataColumnBySchemaAction() [2/2]

static ? DataColumn System.Data.Common.DataColumnMapping.GetDataColumnBySchemaAction ( string? sourceColumn,
string? dataSetColumn,
DataTable dataTable,
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.PublicProperties)] Type? dataType,
MissingSchemaAction schemaAction )
inlinestatic

Definition at line 120 of file DataColumnMapping.cs.

121 {
122 if (dataTable == null)
123 {
124 throw ADP.ArgumentNull("dataTable");
125 }
126 if (string.IsNullOrEmpty(dataSetColumn))
127 {
128 return null;
129 }
130 DataColumnCollection columns = dataTable.Columns;
131 int num = columns.IndexOf(dataSetColumn);
132 if (0 <= num && num < columns.Count)
133 {
134 DataColumn dataColumn = columns[num];
135 if (!string.IsNullOrEmpty(dataColumn.Expression))
136 {
137 throw ADP.ColumnSchemaExpression(sourceColumn, dataSetColumn);
138 }
139 if (null == dataType || dataType.IsArray == dataColumn.DataType.IsArray)
140 {
141 return dataColumn;
142 }
143 throw ADP.ColumnSchemaMismatch(sourceColumn, dataType, dataColumn);
144 }
145 return CreateDataColumnBySchemaAction(sourceColumn, dataSetColumn, dataTable, dataType, schemaAction);
146 }
static DataColumn CreateDataColumnBySchemaAction(string sourceColumn, string dataSetColumn, DataTable dataTable, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields|DynamicallyAccessedMemberTypes.PublicProperties)] Type dataType, MissingSchemaAction schemaAction)

References System.Data.Common.ADP.ArgumentNull(), System.Data.DataTable.Columns, System.Data.Common.ADP.ColumnSchemaExpression(), System.Data.Common.ADP.ColumnSchemaMismatch(), System.Data.InternalDataCollectionBase.Count, System.Data.Common.DataColumnMapping.CreateDataColumnBySchemaAction(), System.Data.DataColumn.DataType, System.Data.DataColumn.Expression, System.Data.DataColumnCollection.IndexOf(), and System.Type.IsArray.