2
我想創建一個類似於.ToList <>()的擴展,用於我自定義的通用收集。通用擴展
這裏是我的對象有
AceDataObjectCollection<T> : ICollection<T> where T : IAceDataObject
IAceDataBlock : IAceDataObject
IAceMessage : IAceDataObject
我想這樣做。
AceDataObjectCollection<IAceDataObject> objects = new AceDataObjectCollection<IAceDataObject>();
objects.Add(...) // Add different data objects here
AceDataObjectCollection<IAceMessage> messages = objects.Where(o => o is IAceMessage).ToAceDataObjectCollection<IAceMessage>();
我似乎無法弄清楚如何用泛型適當地形成擴展。
稍微偏離主題,但您可能對'OfType' LINQ方法感興趣。所以,而不是你的'Where'調用,你可以說'.OfType()' –
StriplingWarrior