using System; using System.Collections; class App { public static int Main () { foreach (object o in QueryEnumerable()) { if ((string)o != "Type: System.String") return 1; } if (TestType().GetType () != typeof (string)) return 2; return 0; } public static IEnumerable QueryEnumerable () { yield return "Type: " + typeof(T); } public static T TestType () { return (T) TestType (typeof(T)); } public static object TestType (Type t) { return "1"; } }