using System;
public static class ExtensionMethods
{
public static void PrintMe(this IModel obj)
Print((dynamic)obj);
}
public static void Print(ModelA a)
Console.WriteLine("A");
public static void Print(ModelB b)
Console.WriteLine("B");
public class Program
public static void Main()
var a = new ModelA();
var b = new ModelB();
a.PrintMe();
b.PrintMe();
public interface IModel
public class ModelA : IModel
public class ModelB : IModel