Используйте DESC mytablenamegoeshere
или SHOW COLUMNS FROM mytablenamegoeshere
Для более подробной информации используйте SHOW FULL COLUMNS ...
Эти запросы предоставят вам метаданные таблицы.
if(value is IList && value.GetType().IsGenericType) {
}
Для вас, парни, которым нравится использовать методы расширения:
public static bool IsGenericList(this object o)
{
var oType = o.GetType();
return (oType.IsGenericType && (oType.GetGenericTypeDefinition() == typeof(List<>)));
}
Итак, мы могли бы сделать:
if(o.IsGenericList())
{
//...
}
bool isList = o.GetType().IsGenericType
&& o.GetType().GetGenericTypeDefinition() == typeof(IList<>));
public bool IsList(object value) {
return value is IList
|| IsGenericList(value);
}
public bool IsGenericList(object value) {
var type = value.GetType();
return type.IsGenericType
&& typeof(List<>) == type.GetGenericTypeDefinition();
}
if(value is IList && value.GetType().GetGenericArguments().Length > 0)
{
}
Вероятно, лучшим способом было бы сделать что-то вроде этого:
IList list = value as IList;
if (list != null)
{
// use list in here
}
Это даст вам максимальную гибкость, а также позволит вам работать со многими различными типами, которые реализуют IList
интерфейс.