Estoy creando un control que recibo en un conjunto de datos de origen de datos o listaConvertir IEnumerable en la lista <T>
Cómo me convierto un IEnumerable para mostrar en un evento CreateChildControls?
protected override int CreateChildControls(IEnumerable dataSource, bool dataBinding)
{
if (dataSource is System.Data.DataSet)
{
}
else if(dataSource is IList)
{
}
}
gracias, cómo puedo obtener el tipo original y no establecer un tipo de objeto ? – Pablogrind
En caso de que ese tipo sea siempre el mismo, es tan simple como 'datasource.Cast(). ToList();' En caso de que no lo sea, usted tiene un problema de diseño. Una solución sería darle a todos sus tipos de artículos en su colección una interfaz genérica que contenga todos los miembros que necesita en su método de consumo 'CreateChildControls()', p. 'datasource.Cast () .ToList();' –
bitbonk
@ bitbonk: Si su código cae a través de 'datasource is IList', entonces será una lista. No es necesario crear una lista, solo puedes lanzar a una lista. Entonces, el problema del 'formato original' no es un problema –