public void CreateDataReaderFromObject(object dataSourceValue)
        {
            IEnumerable enumerable = dataSourceValue as IEnumerable;

            if (enumerable != null)
            {
                this.m_dataReader = new DataEnumerableReader(enumerable);
            }
            else
            {
                bool flag = false;
                if (dataSourceValue is Type)
                {
                    try
                    {
                        dataSourceValue = Activator.CreateInstance((Type)dataSourceValue);
                    }
                    catch
                    {
                        flag = true;
                    }
                }
                if (!flag)
                {
                    ArrayList arrayList = new ArrayList(1);
                    arrayList.Add(dataSourceValue);
                    this.m_dataReader = new DataEnumerableReader(arrayList);
                }
            }
        }
 public DataSetProcessingExtension(IEnumerable dataSources, string dataSetName)
 {
     if (dataSources != null && dataSetName != null)
     {
         this.m_dataSetName = dataSetName;
         foreach (DataSourceWrapper dataSource in dataSources)
         {
             if (dataSource.Name == dataSetName && dataSource.Value != null)
             {
                 if (dataSource.Value is DataTable)
                 {
                     this.m_dataReader = new DataTableReader((DataTable)dataSource.Value);
                 }
                 else
                 {
                     this.CreateDataReaderFromObject(dataSource.Value);
                 }
                 break;
             }
         }
     }
 }