using System.Collections.Generic;
public static void Main()
var smartGroups = GetGroups() as IEnumerable<SmartGroup>;
Console.WriteLine("Is the cast from a IList<BaseClass> to an IEnumerable<SuperClass> valid: {0}", smartGroups != null);
public static IList<Group> GetGroups() {
var groups = new List<Group>();
for(var i = 0; i < 5; i++) {
groups.Add(new SmartGroup());
public class SmartGroup : Group {