internal Descriptor(IRecordDescriptor metadata) : this(metadata.FieldCount) { for (int i = 0; i < _names.Length; i++) { string fieldName = metadata.GetFieldName(i); _names[i] = fieldName; _types[i] = metadata.GetFieldType(i); _ordinals.Add(fieldName, i); } }
private static DataTable CreateDataTableCore(IRecordDescriptor descriptor) { DataTable table = new DataTable(); table.Locale = CultureInfo.CurrentCulture; table.ExtendedProperties.Add(typeof(IRecordDescriptor), descriptor.Copy()); int fieldCount = descriptor.FieldCount; for (int i = 0; i < fieldCount; i++) table.Columns.Add( descriptor.GetFieldName(i), descriptor.GetFieldType(i)); return table; }