我创建接收数据源DataSet或列表转换成列表的IEnumerable <T>
我如何转换IEnumerable的到列表中的CreateChildControls性事件的控制?
protected override int CreateChildControls(IEnumerable dataSource, bool dataBinding)
{
if (dataSource is System.Data.DataSet)
{
}
else if(dataSource is IList)
{
}
}
感谢,我怎么可以得到原始类型,而不是设置对象类型? – Pablogrind
如果该类型总是相同的它很简单,只要'datasource.Cast()ToList();'如果不是的话,你有一个设计问题。一种解决方案是在你的集合中为你的所有项目类型提供一个通用接口,该接口包含你的消费者方法'CreateChildControls()'中需要的所有成员。 'datasource.Cast ().ToList();' –
bitbonk
@bitbonk:如果您的代码属于通过'数据源是IList'那么这将是一个列表。无需创建列表,您可以将其转换为列表。那么'原始格式'的问题不是问题 –