Код, который вы написали, не скажет вам, является ли тип списком.
Что вы можете сделать:
IList list = DataSource as IList;
if (list != null)
{
//your code here....
}
, это скажет вам, реализует ли источник данных интерфейс IList
.
Другим способом будет:
t = DataSource.GetType();
if (t.IsGenericType)
{
Type elementType = t.GetGenericArguments()[0];
if (t.ToString() == string.Format("System.Collections.Generic.List`1[{0}]", elementType))
{
//your code here
}
}