我有一個控件,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! –