У меня есть таблица (мой собственный не DataTable), который хранит коллекцию
KeyValuePairs<string,Type> [] columns ;
, теперь значение типа помогает мне в моем приложении.например, когда мне нужно создать «индекс БД» (дерево B +)
, мне требуется тип поля с ключом (его типа)
Что теперьЯ пытаюсь сделать, это создать универсальный метод, который будет возвращать этот индекс, получая имя поля и таблицы, из которой оно получено.
Дерево, ссылающееся на метод, не знает, какой тип будет иметь поле моей попытки, было следующим:
метод:
public BTree<T,object> CreateIndex<T>(string path,string FieldName) where T : IComparable
в основном (или гдекогда-либо):
Type index_type = table.Columns[2].Value;// the type
string field = table.Columns[2].Key; // the name of the field
BTree< 'type goes here',object> tree = CreateIndex<'type goes here'>(csv_path,field_name);
Я не смог найти способ извлечь тип ...
Я подумал, если поставить его как свой собственный index_type, объект тоже сделает свою работу.попытался привести тип threw
Type.GetType(index_type.Name)
Type.GetType(index_type.FullName)
Type.GetType(index_type)
Type.GetType(index_type.GetType())
index_type.GetType() by itself
, но, похоже, не смог получить его, кроме как тип.если я, конечно, даю шрифт, все работает нормально.
BTree<float,object> tree = reader.CreateIndex<float>(csv, field);