void Start() { if (monkey != null) { monkey(0); } TestClass i1 = new TestClass2(); i1.overrideme(); i1.overrideme3(); i1.normal2(); TestStruct i2 = new TestStruct(); i2.overrideme(); i2.overrideme2(); doit(i1, i2, i1); doit(i2, i2, i1); callints(i2, i2, i1); int res = 0; for (int i = 0; i < intArray.Length; i++) { res += intArray[i]; } for (int i = 0; i < objArray.Length; i++) { res += (int)objArray[i]; } ITestGeneric <int> x1 = new TestGeneric <int>(new int[] { 1, 2, 3 }); ITestGeneric <object> x2 = new TestGeneric <object>(new object[] { new object() }); callgeneric(x1, 0); callgeneric(x2, "foo"); ITestGeneric <string> x3 = new TestGeneric2 <int, string>(new string[] { "as", "de" }); new WeirdLayout2().f = 3; x3.genericFunc("bar"); }