using System.Collections.Generic;
public static void Main()
List<ExampleClass1> exampleClasses1 = new List<ExampleClass1>();
List<ExampleClass2> exampleClasses2 = new List<ExampleClass2>();
List<IExampleInterface> onlyTrue = exampleClasses1.GetTrue();
onlyTrue.AddRange(exampleClasses2.GetTrue());
Console.WriteLine("Done");
public interface IExampleInterface
public class ExampleClass1 : IExampleInterface
public bool IsTrue { get; set; }
public class ExampleClass2 : IExampleInterface
public bool IsTrue { get; set; }
namespace ExtensionMethods
public static class InterfaceExtensions {
public static List<IExampleInterface> GetTrue<T>(this List<T> classes) where T: IExampleInterface
List<IExampleInterface> interfaces = new List<IExampleInterface>();
foreach(var item in classes)
if (item is IExampleInterface)