Я хочу создать набор расширений, аналогичных .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>();
Я не могу понять, как правильно сформировать расширение с помощью шаблонов.