using System.Diagnostics;
public static void Main()
var a = new GenericTypeClass<TestType>();
var b = a as FormalClass;
Console.WriteLine("'a as Formal' Is NULL");
Console.WriteLine("'(FormalClass)a' gives this error: " + ex.Message);
public class FormalClass : GenericTypeClass<TestType>
public class GenericTypeClass<T>
public class TestType : IType