namespace Test {
    
    using System;
    
    public abstract class A {}
    public class AA : A {}
    public class AB : A {}
    public class AC : A {}
        
    public class ATest {
        
        public void DoTest(A a) {
            switch (true) {
                case a is AA :
                    Console.WriteLine("AA");
                    break;
                case a is AB :
                    Console.WriteLine("AB");
                    break;
                case a is AC :
                    Console.WriteLine("AC");
                    break;
                default :
                    Console.WriteLine("unknown");
                    return;
            }
        }
    }
    
    public class EP {
        public static void Main() {
            ATest at = new ATest();
            AC ac = new AC();
            at.DoTest(ac);
        }
    }
}