using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Globalization;
using System.Collections.Generic;
public static void Main()
ProcessObject(new Class1());
ProcessObject(new Class2());
private static void ProcessObject(AbstractClass obj)
Console.WriteLine("Received object of Type: " + obj.GetType().FullName);
public abstract class AbstractClass
public class Class1 : AbstractClass
public class Class2 : AbstractClass