using System.Collections.Generic;
public static void Main()
var account = new Account(){
account.IncludeX(m => m.Domains);
public static class ModelExtensions
public static IEnumerable<L> Include<T, L>(
this IBase model, Func<T, L> lengthProvider) where T : L, new()
Console.WriteLine("Extension method called on BaseClass object");
public static void IncludeX<T, L>(
this T baseObject, Func<T, L> xx)
var child = xx(m=>m).GetType();
Console.WriteLine(child.Name);
Console.WriteLine("Extension method called on BaseClass object");
public class Account : IBase
public int Id {get; set;}
public List<Domain> Domains {get; set;}
public int Id {get; set;}
public string? Name {get; set;}