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);
     }
 }
Esempio n. 2
0
        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;
        }