我創建接收數據源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'那麼這將是一個列表。無需創建列表,您可以將其轉換爲列表。那麼'原始格式'的問題不是問題 –