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