我有一个控件,RadTabStrip,其中包含:public RadTabCollection Tabs { get; }
。类RadTabCollection继承自:public class RadTabCollection : ControlItemCollection, IEnumerable<RadTab>, IEnumerable
更清洁的方式将集合转换为另一种类型?
现在,我有一个CormantRadTab列表。此类继承:public class CormantRadTab : RadTab, ICormantControl<RadTabSetting>
我的目标是使用RadTabCollection填充CormantRadTab的列表。目前,我有这样的实现:
List<CormantRadTab> oldTabs = new List<CormantRadTab>(Tabs.Count);
foreach(CormantRadTab tab in Tabs)
{
oldTabs.Add(tab);
}
我真的觉得我应该可以做一些事情,如:
List<CormantRadTab> oldTabs = new List<CormantRadTab>(Tabs.AsEnumerable<RadTab>());
但这并不匹配超载签名新建列表期待。如果我尝试投射AsEnumerable CormantRadTab,则会收到其他错误。
什么是做到这一点的正确方法?
谢谢,Jon Skeet! –