public static void AnonymousTypeInsideQueryExpression() { // ManagedTests.DynamicCSharp.Conformance.dynamic.context.indexer.genclass.genclass017.genclass017 List <string> list = new List <string>() { "0", "4", null, "6", "4", "4", null }; dynamic dy = new MemberClassWithAnotherTypeConstraint <string, string>(); dynamic dy2 = new MemberClassWithNewConstraint <Test>(); Test t = new Test() { _field = 1 }; var result = list.Where(p => p == dy[dy2]).Select(p => new { A = dy2[t], B = dy[dy2] }).ToList(); Assert.Equal(2, result.Count); Assert.Equal(3, MemberClassWithAnotherTypeConstraint <string, string> .Status); Assert.Equal(1, MemberClassWithNewConstraint <Test> .t_status); foreach (var m in result) { Assert.Equal(10, ((Test)m.A)._field); Assert.Null(m.B); } }
public static int MainMethod() { dynamic dy1 = new MemberClassWithNewConstraint <C>(); dynamic dy2 = new MemberClassWithAnotherTypeConstraint <int, int>(); C result = new C(); int result2 = -1; switch ((int)dy2.Method_ReturnsU(dy1)) // 0 { case 0: result = (C)dy1.Method_ReturnsDynamic(result); // called break; default: result2 = (int)dy2.Method_ReturnsDynamic(0, 0, dy2); // not called break; } return((result.GetType() == typeof(C) && result2 == -1) ? 0 : 1); }
public static int MainMethod() { List <string> list = new List <string>() { "0", "4", null, "6", "4", "4", null } ; // string s = "test"; dynamic dy = new MemberClassWithAnotherTypeConstraint <string, string>(); dynamic dy2 = new MemberClassWithNewConstraint <Test>(); Test t = new Test() { _field = 1 } ; var result = list.Where(p => p == dy[dy2]).Select(p => new { A = dy2[t], B = dy[dy2] } ).ToList(); if (result.Count == 2 && MemberClassWithAnotherTypeConstraint <string, string> .Status == 3 && MemberClassWithNewConstraint <Test> .Status == 1) { foreach (var m in result) { if (((Test)m.A)._field != 10 || m.B != null) { return(1); } } return(0); } return(1); }