Test for type extension

CSharp · Console

/Program.cs

using System;
					
public class Program
{
	public static void Main()
	{
		var @foo = new foo();
		var @bar = new bar();
		var neither = "Test";
		
		tst(@foo);
		tst(@bar);
		tst(neither);
	}
	
	public static void tst(Object x) {
		if (x.GetType() == typeof(foo))
			Console.WriteLine("Same type.");
		else if (x.GetType().IsAssignableTo(typeof(foo)))
			Console.WriteLine("Extends type.");
		else
			Console.WriteLine("Not related.");			
	}
	
	public class foo {}
	
	public class bar : foo {}
}
;