public MainApp(MainApp a, Struct1 s1, Struct2 s2, Struct3 s3, Struct4 s4, Struct5 s5, Struct8 s8, Valuesa v, float f, double d, Object o, String s, Enumacek e) { String values = a.ToString() + " " + s1.ToString() + " " + s2.ToString() + " " + s3.ToString() + " " + s4.ToString() + " " + s5.ToString() + " " + s8.ToString() + " " + v.ToString() + " " + f.ToString() + " " + d.ToString() + " " + o.ToString() + " " + s.ToString() + " " + e.ToString() + " " + "."; if (values != "MainApp 9 104 225 80 57 184 17 160 105 8 65 240" + " 153 88 113 64 201 168 161 144 249 248 209 224 -23767 606228808 2874968872843236" + "865 -9016159779942285264 360942425 4248 49 -5.193024E+18 -6.58392565490175E+18 M" + "ainApp 2212973731230676456 Hali .") { Console.WriteLine("MainApp(...): unexpected values: " + values); Fail(22); } }
internal Struct5(BinaryReaderEx br, long rootOffset, long faceIndexOffset) { Unk00 = br.ReadSingle(); short leftIndex = br.ReadInt16(); short rightIndex = br.ReadInt16(); short faceIndexCount = br.ReadInt16(); short faceIndexIndex = br.ReadInt16(); if (leftIndex != -1) { br.Position = rootOffset + leftIndex * 0xC; Left = new Struct5(br, rootOffset, faceIndexOffset); } if (rightIndex != -1) { br.Position = rootOffset + rightIndex * 0xC; Right = new Struct5(br, rootOffset, faceIndexOffset); } if (faceIndexCount > 0) { br.Position = faceIndexOffset + faceIndexIndex * 2; FaceIndices = new List <short>(br.ReadInt16s(faceIndexCount)); } }
// Token: 0x060005DB RID: 1499 RVA: 0x00028E4C File Offset: 0x0002704C internal static bool smethod_12(Struct8 struct8_0, DateTimeZoneHandling dateTimeZoneHandling_0, out DateTime dateTime_0) { Struct5 @struct = default(Struct5); if ([email protected]_0(struct8_0.method_0(), struct8_0.method_1(), struct8_0.method_2())) { dateTime_0 = default(DateTime); return(false); } DateTime dateTime_ = Class25.smethod_14(@struct); switch (@struct.enum6_0) { case (Enum6)1: dateTime_ = new DateTime(dateTime_.Ticks, DateTimeKind.Utc); break; case (Enum6)2: { TimeSpan timeSpan = new TimeSpan(@struct.int_7, @struct.int_8, 0); long num = dateTime_.Ticks + timeSpan.Ticks; if (num <= DateTime.MaxValue.Ticks) { dateTime_ = new DateTime(num, DateTimeKind.Utc).ToLocalTime(); } else { num += dateTime_.smethod_0().Ticks; if (num > DateTime.MaxValue.Ticks) { num = DateTime.MaxValue.Ticks; } dateTime_ = new DateTime(num, DateTimeKind.Local); } break; } case (Enum6)3: { TimeSpan timeSpan2 = new TimeSpan(@struct.int_7, @struct.int_8, 0); long num = dateTime_.Ticks - timeSpan2.Ticks; if (num >= DateTime.MinValue.Ticks) { dateTime_ = new DateTime(num, DateTimeKind.Utc).ToLocalTime(); } else { num += dateTime_.smethod_0().Ticks; if (num < DateTime.MinValue.Ticks) { num = DateTime.MinValue.Ticks; } dateTime_ = new DateTime(num, DateTimeKind.Local); } break; } } dateTime_0 = Class25.smethod_2(dateTime_, dateTimeZoneHandling_0); return(true); }
internal Mesh(BinaryReaderEx br, NGPVersion version) { Unk00 = br.ReadInt32(); br.ReadInt32(); // Length of this mesh (including child structs) Unk08 = br.ReadInt32(); if (version == NGPVersion.Scholar) { br.AssertInt32(0); } BoundingBoxMin = br.ReadVector3(); BoundingBoxMax = br.ReadVector3(); int vertexCount = br.ReadInt32(); short faceCount = br.ReadInt16(); short count30 = br.ReadInt16(); Unk30 = br.ReadInt16(); Unk32 = br.ReadInt16(); br.AssertByte(1); br.AssertByte(0); br.AssertByte(0); br.AssertByte(0); if (version == NGPVersion.Scholar) { br.AssertInt64(0); } long verticesOffset = br.ReadVarint(); long offset48 = br.ReadVarint(); long facesOffset = br.ReadVarint(); long offset58 = br.ReadVarint(); long offset60 = br.ReadVarint(); long offset68 = br.ReadVarint(); br.Position = verticesOffset; Vertices = new List <Vector3>(vertexCount); for (int i = 0; i < vertexCount; i++) { Vertices.Add(br.ReadVector3()); } br.Position = offset48; Struct2s = new List <int>(br.ReadInt32s(faceCount)); br.Position = facesOffset; Faces = new List <Face>(faceCount); for (int i = 0; i < faceCount; i++) { Faces.Add(new Face(br)); } br.Position = offset58; Struct4s = new List <Struct4>(count30); for (int i = 0; i < count30; i++) { Struct4s.Add(new Struct4(br)); } br.Position = offset60; Struct5Root = new Struct5(br, offset60, offset68); }
public Mesh() { Vertices = new List <Vector3>(); Struct2s = new List <int>(); Faces = new List <Face>(); Struct4s = new List <Struct4>(); Struct5Root = new Struct5(); }
private static HardDiskInfo smethod_3(Struct5 struct5_0) { HardDiskInfo info = new HardDiskInfo(); smethod_4(struct5_0.byte_2); info.ModuleNumber = Encoding.ASCII.GetString(struct5_0.byte_2).Trim(); smethod_4(struct5_0.byte_1); info.Firmware = Encoding.ASCII.GetString(struct5_0.byte_1).Trim(); smethod_4(struct5_0.byte_0); info.SerialNumber = Encoding.ASCII.GetString(struct5_0.byte_0).Trim(); info.Capacity = (struct5_0.uint_1 / 2) / 0x400; return(info); }
// Token: 0x060005DC RID: 1500 RVA: 0x00028FE0 File Offset: 0x000271E0 internal static bool smethod_13(Struct8 struct8_0, out DateTimeOffset dateTimeOffset_0) { Struct5 @struct = default(Struct5); if ([email protected]_0(struct8_0.method_0(), struct8_0.method_1(), struct8_0.method_2())) { dateTimeOffset_0 = default(DateTimeOffset); return(false); } DateTime dateTime = Class25.smethod_14(@struct); TimeSpan utcOffset; switch (@struct.enum6_0) { case (Enum6)1: utcOffset = new TimeSpan(0L); break; case (Enum6)2: utcOffset = new TimeSpan([email protected]_7, [email protected]_8, 0); break; case (Enum6)3: utcOffset = new TimeSpan(@struct.int_7, @struct.int_8, 0); break; default: utcOffset = TimeZoneInfo.Local.GetUtcOffset(dateTime); break; } long num = dateTime.Ticks - utcOffset.Ticks; if (num >= 0L && num <= 3155378975999999999L) { dateTimeOffset_0 = new DateTimeOffset(dateTime, utcOffset); return(true); } dateTimeOffset_0 = default(DateTimeOffset); return(false); }
// Token: 0x060005DD RID: 1501 RVA: 0x000290CC File Offset: 0x000272CC private static DateTime smethod_14(Struct5 struct5_0) { bool flag; if (struct5_0.int_3 == 24) { flag = true; struct5_0.int_3 = 0; } else { flag = false; } DateTime result = new DateTime(struct5_0.int_0, struct5_0.int_1, struct5_0.int_2, struct5_0.int_3, struct5_0.int_4, struct5_0.int_5); result = result.AddTicks((long)struct5_0.int_6); if (flag) { result = result.AddDays(1.0); } return(result); }
public Struct5 Foo(Struct8 v, ref Valuesa r, byte t, ref byte tr) { Struct5 ret = new Struct5(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "193 121 129 185 65 249 1 57 41 20808 639653" + "377 -9016159779942285264 -7525944817302140071 1480724632 6961 128 114 114 .") { Console.WriteLine("Struct5 Foo(...): unexpected values: " + values); Fail(15); } r.Randomize(); tr += (byte)Randomizer(); ret.Randomize(); return(ret); }
public Struct6 Foo(Struct5 v, ref Valuesa r, byte t, ref byte tr) { Struct6 ret = new Struct6(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "112 25 216 241 192 138 -21480 225324986 -59" + "58788304505077400 2658617120903057130 486515128 -9446 8 51 51 .") { Console.WriteLine("Struct6 Foo(...): unexpected values: " + values); Fail(21); } r.Randomize(); tr += (byte)Randomizer(); ret.Randomize(); return(ret); }
public Struct3 Foo(Struct4 v, ref Struct5 r, int t, ref int tr) { Struct3 ret = new Struct3(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "201 177 9 113 65 240 153 88 113 -1988419008 " + "-1988419008 .") { Console.WriteLine("Struct3 Foo(...): unexpected values: " + values); Fail(13); } r.Randomize(); tr += (int)Randomizer(); ret.Randomize(); return(ret); }
public Struct4 Foo(ref Struct8 r, Struct5 v, long t, ref long tr) { Struct4 ret = new Struct4(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "218 72 10 152 58 201 168 161 144 249 248" + " 209 224 3406623781630010640 3406623781630010640 .") { Console.WriteLine("Struct4 Foo(...): unexpected values: " + values); Fail(14); } r.Randomize(); tr += (long)Randomizer(); ret.Randomize(); return(ret); }
public Struct5 Foo(Struct8 v, ref Valuesa r, byte t, ref byte tr) { Struct5 ret = new Struct5(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "64 210 16 130 224 50 176 226 224 -23767 606" + "228808 2874968872843236865 -9016159779942285264 360942425 4248 49 160 160 .") { Console.WriteLine("Struct5 Foo(...): unexpected values: " + values); Fail(15); } r.Randomize(); tr += (byte)Randomizer(); ret.Randomize(); return(ret); }
public Struct4 Foo(ref Struct8 r, Struct5 v, long t, ref long tr) { Struct4 ret = new Struct4(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "146 80 66 32 242 64 201 168 161 144 249 248" + " 209 5410867595358339026 5410867595358339026 .") { Console.WriteLine("Struct4 Foo(...): unexpected values: " + values); Fail(14); } r.Randomize(); tr += (long)Randomizer(); ret.Randomize(); return(ret); }
private Struct5 ParseStruct5(int StructOffset, int mainEntryOffset) { Struct5 _struct5 = new Struct5() { F_00 = BitConverter.ToSingle(rawBytes, StructOffset + 0), F_04 = BitConverter.ToSingle(rawBytes, StructOffset + 4), F_08 = BitConverter.ToSingle(rawBytes, StructOffset + 8), F_12 = BitConverter.ToSingle(rawBytes, StructOffset + 12), }; StructOffset += 16; _struct5.I_18 = (Struct5.AutoOrientation)BitConverter.ToUInt16(rawBytes, StructOffset + 2); _struct5.I_24 = BitConverter.ToUInt16(rawBytes, StructOffset + 8); _struct5.I_26 = BitConverter.ToUInt16(rawBytes, StructOffset + 10); _struct5.I_28 = BitConverter.ToUInt16(rawBytes, StructOffset + 12); _struct5.I_30 = BitConverter.ToUInt16(rawBytes, StructOffset + 14); _struct5.FloatList = new ObservableCollection <Struct5_Entries>(); int count = BitConverter.ToInt16(rawBytes, StructOffset + 0) + 1; int listOffset = BitConverter.ToInt32(rawBytes, StructOffset + 4) + mainEntryOffset; for (int i = 0; i < count; i++) { _struct5.FloatList.Add(new Struct5_Entries() { F_00 = BitConverter.ToSingle(rawBytes, listOffset + 0), F_04 = BitConverter.ToSingle(rawBytes, listOffset + 4) }); listOffset += 8; } return(_struct5); }
public Struct3 Foo(Struct4 v, ref Struct5 r, int t, ref int tr) { Struct3 ret = new Struct3(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "209 233 145 41 65 240 153 88 113 -815888606" + " -815888606 .") { Console.WriteLine("Struct3 Foo(...): unexpected values: " + values); Fail(13); } r.Randomize(); tr += (int)Randomizer(); ret.Randomize(); return ret; }
static extern Struct5 StructTest5(Struct5 s, ref Struct5 _s);
static public void RunTests(MainApp This) { String values; Struct1 s1 = new Struct1(); Struct2 s2 = new Struct2(); Struct3 s3 = new Struct3(); Struct4 s4 = new Struct4(); Struct5 s5 = new Struct5(); Struct6 s6 = new Struct6(); Struct8 s8 = new Struct8(); Valuesa v = new Valuesa(); float f; double d; Object o; String s; Enumacek e; sbyte p1; byte p2; short p3; ushort p4; int p5; uint p6; long p7; ulong p8; s1.Randomize(); s2.Randomize(); s3.Randomize(); s4.Randomize(); s5.Randomize(); s6.Randomize(); s8.Randomize(); v.Randomize(); f = (float)Randomizer(); d = (float)Randomizer(); o = This; s = Randomizer().ToString(); e = Enumacek.Hali; p1 = (sbyte)Randomizer(); p2 = (byte)Randomizer(); p3 = (short)Randomizer(); p4 = (ushort)Randomizer(); p5 = (int)Randomizer(); p6 = (uint)Randomizer(); p7 = (long)Randomizer(); p8 = (ulong)Randomizer(); // set all fields This._s1 = s1; This._s2 = s2; This._s3 = s3; This._s4 = s4; This._s5 = s5; This._s6 = s6; This._s8 = s8; This._v = v; This._f = f; This._d = d; This._o = o; This._s = s; This._e = e; This._p1 = p1; This._p2 = p2; This._p3 = p3; This._p4 = p4; This._p5 = p5; This._p6 = p6; This._p7 = p7; This._p8 = p8; values = This.ToString(); if (values != "9 104 225 80 57 184 17 160 105 8 65 240 153 88 113 931407168" + " 201 168 161 144 249 248 209 224 41 20808 639653377 -9016159779942285264" + " -7525944817302140071 1480724632 6961 128 -6.583926E+18 2.21297372164627E+18" + " MainApp -5893266573950244255 Hali -48 185 -16072 17297 -994209504 2046869481" + " 1703311890815005320 1413371402307118785 .") { Console.WriteLine("SetFields: unexpected values: " + values); Fail(101); } Console.WriteLine("Field setters succeeded"); // invoke the methods p1 = This.Foo(p1); p2 = This.Foo(p2); p3 = This.Foo(p3); p4 = This.Foo(p4); p5 = This.Foo(p5); p6 = This.Foo(p6); p7 = This.Foo(p7); p8 = This.Foo(p8); // verify the values of all fields values = p1.ToString() + " " + p2.ToString() + " " + p3.ToString() + " " + p4.ToString() + " " + p5.ToString() + " " + p6.ToString() + " " + p7.ToString() + " " + p8.ToString() + " " + "."; if (values != "-96 114 -32144 34594 -19884190" + "08 4093738962 3406623781630010640 2826742804614237570 .") { Console.WriteLine("Locals after primitive Invoke: unexpected values: " + values); Fail(102); } s1 = This.Foo(s2, ref s3, p1, ref p1); s2 = This.Foo(ref s4, s3, p3, ref p3); s3 = This.Foo(s4, ref s5, p5, ref p5); s4 = This.Foo(ref s8, s5, p7, ref p7); s5 = This.Foo(s8, ref v, p2, ref p2); s6 = This.Foo(s5, ref v, p2, ref p2); s8 = This.Foo(ref f, v, p4, ref p4); v = This.Foo(f, ref d, p6, ref p6); f = This.Foo(ref s1, d, p8, ref p8); d = This.Foo(ref s2, s1, s, ref s); // verify the values of all fields values = This.ToString(); if (values != "9 104 225 80 57 184 17 160 105 8 65 240 " + "153 88 113 931407168 201 168 161 144 249 248 209 224 41 20808 639653377 -9016159" + "779942285264 -7525944817302140071 1480724632 6961 128 -6.583926E+18 2.2129737216" + "4627E+18 MainApp -5893266573950244255 Hali -48 185 -16072 17297 -994209504 20468" + "69481 1703311890815005320 1413371402307118785 .") { Console.WriteLine("Fields after Invoke: unexpected values: " + values); Fail(103); } // verify the values of all locals values = s1.ToString() + " " + s2.ToString() + " " + s3.ToString() + " " + s4.ToString() + " " + s5.ToString() + " " + s6.ToString() + " " + s8.ToString() + " " + v.ToString() + " " + f.ToString() + " " + d.ToString() + " " + o.GetType().ToString() + " " + s.ToString() + " " + e.ToString() + " " + p1.ToString() + " " + p2.ToString() + " " + p3.ToString() + " " + p4.ToString() + " " + p5.ToString() + " " + p6.ToString() + " " + p7.ToString() + " " + p8.ToString() + " " + "."; if (values != "170 233 145 161 144 249 49 128 137 232 1" + "12 25 216 241 192 263746504 217 24 177 0 9 104 225 80 17 7072 -1278944919 567925" + "9233286952200 964207834727950401 -272742416 14745 88 -7.848656E+18 3.16790391993" + "929E+18 MainApp -5893266573950244255 Hali -16 220 21112 49618 -153164056 1655108" + "490 -374121548284004952 17419808404417595330 .") { Console.WriteLine("Locals after Invoke: unexpected values: " + values); Fail(104); } Console.WriteLine("Method invokes succeeded"); // get all fields s1 = This._s1; s2 = This._s2; s3 = This._s3; s4 = This._s4; s5 = This._s5; s6 = This._s6; s8 = This._s8; v = This._v; f = This._f; d = This._d; o = This._o; s = This._s; e = This._e; p1 = This._p1; p2 = This._p2; p3 = This._p3; p4 = This._p4; p5 = This._p5; p6 = This._p6; p7 = This._p7; p8 = This._p8; // verify the values of all locals values = s1.ToString() + " " + s2.ToString() + " " + s3.ToString() + " " + s4.ToString() + " " + s5.ToString() + " " + s6.ToString() + " " + s8.ToString() + " " + v.ToString() + " " + f.ToString() + " " + d.ToString() + " " + o.GetType().ToString() + " " + s.ToString() + " " + e.ToString() + " " + p1.ToString() + " " + p2.ToString() + " " + p3.ToString() + " " + p4.ToString() + " " + p5.ToString() + " " + p6.ToString() + " " + p7.ToString() + " " + p8.ToString() + " " + "."; if (values != "9 104 225 80 57 184 17 160 105 8 65 240 153 88 113" + " 931407168 201 168 161 144 249 248 209 224 41 20808 639653377 -90161597799422852" + "64 -7525944817302140071 1480724632 6961 128 -6.583926E+18 2.21297372164627E+18 M" + "ainApp -5893266573950244255 Hali -48 185 -16072 17297 -994209504 2046869481 1703" + "311890815005320 1413371402307118785 .") { Console.WriteLine("GetFields: unexpected values: " + values); Fail(105); } Console.WriteLine("Field getters succeeded"); This.Foo(This, "O", "S", (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (sbyte)Randomizer(), (byte)Randomizer(), (short)Randomizer(), (ushort)Randomizer(), (int)Randomizer(), (uint)Randomizer(), (long)Randomizer(), (ulong)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer()); }
static public void RunTests(MainApp This) { String values; Struct1 s1 = new Struct1(); Struct2 s2 = new Struct2(); Struct3 s3 = new Struct3(); Struct4 s4 = new Struct4(); Struct5 s5 = new Struct5(); Struct6 s6 = new Struct6(); Struct8 s8 = new Struct8(); Valuesa v = new Valuesa(); float f; double d; Object o; String s; Enumacek e; sbyte p1; byte p2; short p3; ushort p4; int p5; uint p6; long p7; ulong p8; s1.Randomize(); s2.Randomize(); s3.Randomize(); s4.Randomize(); s5.Randomize(); s6.Randomize(); s8.Randomize(); v.Randomize(); f = (float)Randomizer(); d = (float)Randomizer(); o = This; s = Randomizer().ToString(); e = Enumacek.Hali; p1 = (sbyte)Randomizer(); p2 = (byte)Randomizer(); p3 = (short)Randomizer(); p4 = (ushort)Randomizer(); p5 = (int)Randomizer(); p6 = (uint)Randomizer(); p7 = (long)Randomizer(); p8 = (ulong)Randomizer(); // set all fields This._s1 = s1; This._s2 = s2; This._s3 = s3; This._s4 = s4; This._s5 = s5; This._s6 = s6; This._s8 = s8; This._v = v; This._f = f; This._d = d; This._o = o; This._s = s; This._e = e; This._p1 = p1; This._p2 = p2; This._p3 = p3; This._p4 = p4; This._p5 = p5; This._p6 = p6; This._p7 = p7; This._p8 = p8; values = This.ToString(); if (values != "9 104 225 80 57 184 17 160 105 8 65 240 153 88 113 931407168" + " 201 168 161 144 249 248 209 224 41 20808 639653377 -9016159779942285264" + " -7525944817302140071 1480724632 6961 128 -6.583926E+18 2.21297372164627E+18" + " MainApp -5893266573950244255 Hali -48 185 -16072 17297 -994209504 2046869481" + " 1703311890815005320 1413371402307118785 .") { Console.WriteLine("SetFields: unexpected values: " + values); Fail(101); } Console.WriteLine("Field setters succeeded"); // invoke the methods p1 = This.Foo(p1); p2 = This.Foo(p2); p3 = This.Foo(p3); p4 = This.Foo(p4); p5 = This.Foo(p5); p6 = This.Foo(p6); p7 = This.Foo(p7); p8 = This.Foo(p8); // verify the values of all fields values = p1.ToString() + " " + p2.ToString() + " " + p3.ToString() + " " + p4.ToString() + " " + p5.ToString() + " " + p6.ToString() + " " + p7.ToString() + " " + p8.ToString() + " " + "."; if (values != "-96 114 -32144 34594 -19884190" + "08 4093738962 3406623781630010640 2826742804614237570 .") { Console.WriteLine("Locals after primitive Invoke: unexpected values: " + values); Fail(102); } s1 = This.Foo(s2, ref s3, p1, ref p1); s2 = This.Foo(ref s4, s3, p3, ref p3); s3 = This.Foo(s4, ref s5, p5, ref p5); s4 = This.Foo(ref s8, s5, p7, ref p7); s5 = This.Foo(s8, ref v, p2, ref p2); s6 = This.Foo(s5, ref v, p2, ref p2); s8 = This.Foo(ref f, v, p4, ref p4); v = This.Foo(f, ref d, p6, ref p6); f = This.Foo(ref s1, d, p8, ref p8); d = This.Foo(ref s2, s1, s, ref s); // verify the values of all fields values = This.ToString(); if (values != "9 104 225 80 57 184 17 160 105 8 65 240 " + "153 88 113 931407168 201 168 161 144 249 248 209 224 41 20808 639653377 -9016159" + "779942285264 -7525944817302140071 1480724632 6961 128 -6.583926E+18 2.2129737216" + "4627E+18 MainApp -5893266573950244255 Hali -48 185 -16072 17297 -994209504 20468" + "69481 1703311890815005320 1413371402307118785 .") { Console.WriteLine("Fields after Invoke: unexpected values: " + values); Fail(103); } // verify the values of all locals values = s1.ToString() + " " + s2.ToString() + " " + s3.ToString() + " " + s4.ToString() + " " + s5.ToString() + " " + s6.ToString() + " " + s8.ToString() + " " + v.ToString() + " " + f.ToString() + " " + d.ToString() + " " + o.GetType().ToString() + " " + s.ToString() + " " + e.ToString() + " " + p1.ToString() + " " + p2.ToString() + " " + p3.ToString() + " " + p4.ToString() + " " + p5.ToString() + " " + p6.ToString() + " " + p7.ToString() + " " + p8.ToString() + " " + "."; if (values != "170 233 145 161 144 249 49 128 137 232 1" + "12 25 216 241 192 263746504 217 24 177 0 9 104 225 80 17 7072 -1278944919 567925" + "9233286952200 964207834727950401 -272742416 14745 88 -7.848656E+18 3.16790391993" + "929E+18 MainApp -5893266573950244255 Hali -16 220 21112 49618 -153164056 1655108" + "490 -374121548284004952 17419808404417595330 .") { Console.WriteLine("Locals after Invoke: unexpected values: " + values); Fail(104); } Console.WriteLine("Method invokes succeeded"); // get all fields s1 = This._s1; s2 = This._s2; s3 = This._s3; s4 = This._s4; s5 = This._s5; s6 = This._s6; s8 = This._s8; v = This._v; f = This._f; d = This._d; o = This._o; s = This._s; e = This._e; p1 = This._p1; p2 = This._p2; p3 = This._p3; p4 = This._p4; p5 = This._p5; p6 = This._p6; p7 = This._p7; p8 = This._p8; // verify the values of all locals values = s1.ToString() + " " + s2.ToString() + " " + s3.ToString() + " " + s4.ToString() + " " + s5.ToString() + " " + s6.ToString() + " " + s8.ToString() + " " + v.ToString() + " " + f.ToString() + " " + d.ToString() + " " + o.GetType().ToString() + " " + s.ToString() + " " + e.ToString() + " " + p1.ToString() + " " + p2.ToString() + " " + p3.ToString() + " " + p4.ToString() + " " + p5.ToString() + " " + p6.ToString() + " " + p7.ToString() + " " + p8.ToString() + " " + "."; if (values != "9 104 225 80 57 184 17 160 105 8 65 240 153 88 113" + " 931407168 201 168 161 144 249 248 209 224 41 20808 639653377 -90161597799422852" + "64 -7525944817302140071 1480724632 6961 128 -6.583926E+18 2.21297372164627E+18 M" + "ainApp -5893266573950244255 Hali -48 185 -16072 17297 -994209504 2046869481 1703" + "311890815005320 1413371402307118785 .") { Console.WriteLine("GetFields: unexpected values: " + values); Fail(105); } Console.WriteLine("Field getters succeeded"); This.Foo(This, "O", "S", (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (sbyte)Randomizer(), (byte)Randomizer(), (short)Randomizer(), (ushort)Randomizer(), (int)Randomizer(), (uint)Randomizer(), (long)Randomizer(), (ulong)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer()); }
public MainApp(MainApp a, Struct1 s1, Struct2 s2, Struct3 s3, Struct4 s4, Struct5 s5, Struct8 s8, Valuesa v, float f, double d, Object o, String s, Enumacek e) { String values = a.ToString() + " " + s1.ToString() + " " + s2.ToString() + " " + s3.ToString() + " " + s4.ToString() + " " + s5.ToString() + " " + s8.ToString() + " " + v.ToString() + " " + f.ToString() + " " + d.ToString() + " " + o.ToString() + " " + s.ToString() + " " + e.ToString() + " " + "."; if (values != "MainApp 9 104 225 80 57 184 17 160 105 8 65 240" + " 153 88 113 64 201 168 161 144 249 248 209 224 -23767 606228808 2874968872843236" + "865 -9016159779942285264 360942425 4248 49 -5.193024E+18 -6.58392565490175E+18 M" + "ainApp 2212973731230676456 Hali .") { Console.WriteLine("MainApp(...): unexpected values: " + values); Fail(22); } }
public Struct4 Foo(ref Struct8 r, Struct5 v, long t, ref long tr) { Struct4 ret = new Struct4(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "146 80 66 32 242 64 201 168 161 144 249 248" + " 209 5410867595358339026 5410867595358339026 .") { Console.WriteLine("Struct4 Foo(...): unexpected values: " + values); Fail(14); } r.Randomize(); tr += (long)Randomizer(); ret.Randomize(); return ret; }
public void RunTests() { String values; Struct1 s1 = new Struct1(); Struct2 s2 = new Struct2(); Struct3 s3 = new Struct3(); Struct4 s4 = new Struct4(); Struct5 s5 = new Struct5(); Struct8 s8 = new Struct8(); Valuesa v = new Valuesa(); float f; double d; Object o; String s; Enumacek e; s1.Randomize(); s2.Randomize(); s3.Randomize(); s4.Randomize(); s5.Randomize(); s8.Randomize(); v.Randomize(); f = (float)Randomizer(); d = (float)Randomizer(); o = this; s = Randomizer().ToString(); e = Enumacek.Hali; Object s1_ = (Object)s1; Object s2_ = (Object)s2; Object s3_ = (Object)s3; Object s4_ = (Object)s4; Object s5_ = (Object)s5; Object s8_ = (Object)s8; Object v_ = (Object)v; Object f_ = (Object)f; Object d_ = (Object)d; Object o_ = (Object)o; Object s_ = (Object)s; Object e_ = (Object)e; Object p1_ = (sbyte)Randomizer(); Object p2_ = (byte)Randomizer(); Object p3_ = (short)Randomizer(); Object p4_ = (ushort)Randomizer(); Object p5_ = (int)Randomizer(); Object p6_ = (uint)Randomizer(); Object p7_ = (long)Randomizer(); Object p8_ = (ulong)Randomizer(); // set all fields GetType().InvokeMember("_s1", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s1_ }, null, null, null); GetType().InvokeMember("_s2", BindingFlags.Static | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s2_ }, null, null, null); GetType().InvokeMember("_s3", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s3_ }, null, null, null); GetType().InvokeMember("_s4", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s4_ }, null, null, null); GetType().InvokeMember("_s5", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s5_ }, null, null, null); GetType().InvokeMember("_s8", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s8_ }, null, null, null); GetType().InvokeMember("_v", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { v_ }, null, null, null); GetType().InvokeMember("_f", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { f_ }, null, null, null); GetType().InvokeMember("_d", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { d_ }, null, null, null); GetType().InvokeMember("_o", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { o_ }, null, null, null); GetType().InvokeMember("_s", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s_ }, null, null, null); GetType().InvokeMember("_e", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { e_ }, null, null, null); GetType().InvokeMember("_p1", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p1_ }, null, null, null); GetType().InvokeMember("_p2", BindingFlags.Static | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p2_ }, null, null, null); GetType().InvokeMember("_p3", BindingFlags.Static | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p3_ }, null, null, null); GetType().InvokeMember("_p4", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p4_ }, null, null, null); GetType().InvokeMember("_p5", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p5_ }, null, null, null); GetType().InvokeMember("_p6", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p6_ }, null, null, null); GetType().InvokeMember("_p7", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p7_ }, null, null, null); GetType().InvokeMember("_p8", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p8_ }, null, null, null); // verify the values of all fields values = _s1.ToString() + " " + _s2.ToString() + " " + _s3.ToString() + " " + _s4.ToString() + " " + _s5.ToString() + " " + _s8.ToString() + " " + _v.ToString() + " " + _f.ToString() + " " + _d.ToString() + " " + _o.ToString() + " " + _s.ToString() + " " + _e.ToString() + " " + _p1.ToString() + " " + _p2.ToString() + " " + _p3.ToString() + " " + _p4.ToString() + " " + _p5.ToString() + " " + _p6.ToString() + " " + _p7.ToString() + " " + _p8.ToString() + " " + "."; if (values != "9 104 225 80 57 184 17 160 105 8 65 240 153 88 113 64" + " 201 168 161 144 249 248 209 224 -23767 606228808 2874968872843236865 -901615977" + "9942285264 360942425 4248 49 -5.193024E+18 -6.58392565490175E+18 MainApp 2212973" + "731230676456 Hali 97 208 -9799 49464 1739539345 3300757792 -6517938239175606295 " + "1703311890815005320 .") { Console.WriteLine("SetFields: unexpected values: " + values); Fail(101); } Console.WriteLine("Field setters succeeded"); // invoke the methods p1_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p1_ }, null, null, null); p2_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p2_ }, null, null, null); p3_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p3_ }, null, null, null); p4_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p4_ }, null, null, null); p5_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p5_ }, null, null, null); p6_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p6_ }, null, null, null); p7_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p7_ }, null, null, null); p8_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p8_ }, null, null, null); // verify the values of all fields values = p1_.ToString() + " " + p2_.ToString() + " " + p3_.ToString() + " " + p4_.ToString() + " " + p5_.ToString() + " " + p6_.ToString() + " " + p7_.ToString() + " " + p8_.ToString() + " " + "."; if (values != "-62 160 -19598 33392 -81588860" + "6 2306548288 5410867595358339026 3406623781630010640 .") { Console.WriteLine("Locals after primitive Invoke: unexpected values: " + values); Fail(102); } s1_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { s2_, s3_, p1_, p1_ }, null, null, null); s2_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { s4_, s3_, p3_, p3_ }, null, null, null); s3_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { s4_, s5_, p5_, p5_ }, null, null, null); s4_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { s8_, s5_, p7_, p7_ }, null, null, null); s5_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { s8_, v_, p2_, p2_ }, null, null, null); s8_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { f_, v_, p4_, p4_ }, null, null, null); v_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { f_, d_, p6_, p6_ }, null, null, null); f_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { s1_, d_, p8_, p8_ }, null, null, null); d_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { s2_, s1_, s_, s_ }, null, null, null); // verify the values of all fields values = _s1.ToString() + " " + _s2.ToString() + " " + _s3.ToString() + " " + _s4.ToString() + " " + _s5.ToString() + " " + _s8.ToString() + " " + _v.ToString() + " " + _f.ToString() + " " + _d.ToString() + " " + _o.ToString() + " " + _s.ToString() + " " + _e.ToString() + " " + _p1.ToString() + " " + _p2.ToString() + " " + _p3.ToString() + " " + _p4.ToString() + " " + _p5.ToString() + " " + _p6.ToString() + " " + _p7.ToString() + " " + _p8.ToString() + " " + "."; if (values != "9 104 225 80 57 184 17 160 105 8 65 240 " + "153 88 113 64 201 168 161 144 249 248 209 224 -23767 606228808 28749688728432368" + "65 -9016159779942285264 360942425 4248 49 -5.193024E+18 -6.58392565490175E+18 Ma" + "inApp 2212973731230676456 Hali 97 208 -9799 49464 1739539345 3300757792 -6517938" + "239175606295 1703311890815005320 .") { Console.WriteLine("Fields after Invoke: unexpected values: " + values); Fail(103); } // verify the values of all locals values = s1_.ToString() + " " + s2_.ToString() + " " + s3_.ToString() + " " + s4_.ToString() + " " + s5_.ToString() + " " + s8_.ToString() + " " + v_.ToString() + " " + f_.ToString() + " " + d_.ToString() + " " + o_.ToString() + " " + s_.ToString() + " " + e_.ToString() + " " + p1_.ToString() + " " + p2_.ToString() + " " + p3_.ToString() + " " + p4_.ToString() + " " + p5_.ToString() + " " + p6_.ToString() + " " + p7_.ToString() + " " + p8_.ToString() + " " + "."; if (values != "226 161 153 217 24 177 105 8 65 240 248 " + "209 224 41 72 89 152 49 128 137 232 97 208 145 9760 68383465 -100628058569588952" + "8 -1283321389773510207 -27688336 8985 216 -7.769602E+18 -3.84749538525879E+18 Ma" + "inApp 2212973731230676456 Hali -102 153 -29822 14240 1493680594 2427897976 59408" + "3122152577906 15205575963204995536 .") { Console.WriteLine("Locals after Invoke: unexpected values: " + values); Fail(104); } Console.WriteLine("Method invokes succeeded"); // get all fields s1_ = GetType().InvokeMember("_s1", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s2_ = GetType().InvokeMember("_s2", BindingFlags.Static | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s3_ = GetType().InvokeMember("_s3", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s4_ = GetType().InvokeMember("_s4", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s5_ = GetType().InvokeMember("_s5", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s8_ = GetType().InvokeMember("_s8", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); v_ = GetType().InvokeMember("_v", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); f_ = GetType().InvokeMember("_f", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); d_ = GetType().InvokeMember("_d", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); o_ = GetType().InvokeMember("_o", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s_ = GetType().InvokeMember("_s", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); e_ = GetType().InvokeMember("_e", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p1_ = GetType().InvokeMember("_p1", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p2_ = GetType().InvokeMember("_p2", BindingFlags.Static | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p3_ = GetType().InvokeMember("_p3", BindingFlags.Static | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p4_ = GetType().InvokeMember("_p4", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p5_ = GetType().InvokeMember("_p5", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p6_ = GetType().InvokeMember("_p6", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p7_ = GetType().InvokeMember("_p7", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p8_ = GetType().InvokeMember("_p8", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); // verify the values of all locals values = s1_.ToString() + " " + s2_.ToString() + " " + s3_.ToString() + " " + s4_.ToString() + " " + s5_.ToString() + " " + s8_.ToString() + " " + v_.ToString() + " " + f_.ToString() + " " + d_.ToString() + " " + o_.ToString() + " " + s_.ToString() + " " + e_.ToString() + " " + p1_.ToString() + " " + p2_.ToString() + " " + p3_.ToString() + " " + p4_.ToString() + " " + p5_.ToString() + " " + p6_.ToString() + " " + p7_.ToString() + " " + p8_.ToString() + " " + "."; if (values != "9 104 225 80 57 184 17 160 105 8 65 240 153 88 113" + " 64 201 168 161 144 249 248 209 224 -23767 606228808 2874968872843236865 -901615" + "9779942285264 360942425 4248 49 -5.193024E+18 -6.58392565490175E+18 MainApp 2212" + "973731230676456 Hali 97 208 -9799 49464 1739539345 3300757792 -65179382391756062" + "95 1703311890815005320 .") { Console.WriteLine("GetFields: unexpected values: " + values); Fail(105); } Console.WriteLine("Field getters succeeded"); // invoke the method with complex signature GetType().InvokeMember("Foo", BindingFlags.Static | BindingFlags.Public | BindingFlags.InvokeMethod, null, null, new Object[] { this, "O", "S", (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (sbyte)Randomizer(), (byte)Randomizer(), (short)Randomizer(), (ushort)Randomizer(), (int)Randomizer(), (uint)Randomizer(), (long)Randomizer(), (ulong)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer() }, null, null, null); Console.WriteLine("Complex invoke succeeded"); // invoke the constructor with complex signature GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.CreateInstance, null, null, new Object[] { this, s1_, s2_, s3_, s4_, s5_, s8_, v_, f_, d_, o_, s_, e_, }, null, null, null); Console.WriteLine("Constructor invoke succeeded"); }
public Struct5 Foo(Struct8 v, ref Valuesa r, byte t, ref byte tr) { Struct5 ret = new Struct5(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "193 121 129 185 65 249 1 57 41 20808 639653" + "377 -9016159779942285264 -7525944817302140071 1480724632 6961 128 114 114 .") { Console.WriteLine("Struct5 Foo(...): unexpected values: " + values); Fail(15); } r.Randomize(); tr += (byte)Randomizer(); ret.Randomize(); return ret; }
static extern Struct5 StructTest5(Struct5 s, ref Struct5 _s);
public Struct5 Foo(Struct8 v, ref Valuesa r, byte t, ref byte tr) { Struct5 ret = new Struct5(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "64 210 16 130 224 50 176 226 224 -23767 606" + "228808 2874968872843236865 -9016159779942285264 360942425 4248 49 160 160 .") { Console.WriteLine("Struct5 Foo(...): unexpected values: " + values); Fail(15); } r.Randomize(); tr += (byte)Randomizer(); ret.Randomize(); return ret; }
public Struct4 Foo(ref Struct8 r, Struct5 v, long t, ref long tr) { Struct4 ret = new Struct4(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "218 72 10 152 58 201 168 161 144 249 248" + " 209 224 3406623781630010640 3406623781630010640 .") { Console.WriteLine("Struct4 Foo(...): unexpected values: " + values); Fail(14); } r.Randomize(); tr += (long)Randomizer(); ret.Randomize(); return ret; }
public void RunTests() { String values; Struct1 s1 = new Struct1(); Struct2 s2 = new Struct2(); Struct3 s3 = new Struct3(); Struct4 s4 = new Struct4(); Struct5 s5 = new Struct5(); Struct8 s8 = new Struct8(); Valuesa v = new Valuesa(); float f; double d; Object o; String s; Enumacek e; s1.Randomize(); s2.Randomize(); s3.Randomize(); s4.Randomize(); s5.Randomize(); s8.Randomize(); v.Randomize(); f = (float)Randomizer(); d = (float)Randomizer(); o = this; s = Randomizer().ToString(); e = Enumacek.Hali; Object s1_ = (Object)s1; Object s2_ = (Object)s2; Object s3_ = (Object)s3; Object s4_ = (Object)s4; Object s5_ = (Object)s5; Object s8_ = (Object)s8; Object v_ = (Object)v; Object f_ = (Object)f; Object d_ = (Object)d; Object o_ = (Object)o; Object s_ = (Object)s; Object e_ = (Object)e; Object p1_ = (sbyte)Randomizer(); Object p2_ = (byte)Randomizer(); Object p3_ = (short)Randomizer(); Object p4_ = (ushort)Randomizer(); Object p5_ = (int)Randomizer(); Object p6_ = (uint)Randomizer(); Object p7_ = (long)Randomizer(); Object p8_ = (ulong)Randomizer(); // set all fields GetType().InvokeMember("_s1", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s1_ }, null, null, null); GetType().InvokeMember("_s2", BindingFlags.Static | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s2_ }, null, null, null); GetType().InvokeMember("_s3", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s3_ }, null, null, null); GetType().InvokeMember("_s4", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s4_ }, null, null, null); GetType().InvokeMember("_s5", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s5_ }, null, null, null); GetType().InvokeMember("_s8", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s8_ }, null, null, null); GetType().InvokeMember("_v", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { v_ }, null, null, null); GetType().InvokeMember("_f", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { f_ }, null, null, null); GetType().InvokeMember("_d", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { d_ }, null, null, null); GetType().InvokeMember("_o", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { o_ }, null, null, null); GetType().InvokeMember("_s", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { s_ }, null, null, null); GetType().InvokeMember("_e", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { e_ }, null, null, null); GetType().InvokeMember("_p1", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p1_ }, null, null, null); GetType().InvokeMember("_p2", BindingFlags.Static | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p2_ }, null, null, null); GetType().InvokeMember("_p3", BindingFlags.Static | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p3_ }, null, null, null); GetType().InvokeMember("_p4", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p4_ }, null, null, null); GetType().InvokeMember("_p5", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p5_ }, null, null, null); GetType().InvokeMember("_p6", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p6_ }, null, null, null); GetType().InvokeMember("_p7", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p7_ }, null, null, null); GetType().InvokeMember("_p8", BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetField, null, this, new Object[] { p8_ }, null, null, null); // verify the values of all fields values = _s1.ToString() + " " + _s2.ToString() + " " + _s3.ToString() + " " + _s4.ToString() + " " + _s5.ToString() + " " + _s8.ToString() + " " + _v.ToString() + " " + _f.ToString() + " " + _d.ToString() + " " + _o.ToString() + " " + _s.ToString() + " " + _e.ToString() + " " + _p1.ToString() + " " + _p2.ToString() + " " + _p3.ToString() + " " + _p4.ToString() + " " + _p5.ToString() + " " + _p6.ToString() + " " + _p7.ToString() + " " + _p8.ToString() + " " + "."; if (values != "9 104 225 80 57 184 17 160 105 8 65 240 153 88 113 64" + " 201 168 161 144 249 248 209 224 -23767 606228808 2874968872843236865 -901615977" + "9942285264 360942425 4248 49 -5.193024E+18 -6.58392565490175E+18 MainApp 2212973" + "731230676456 Hali 97 208 -9799 49464 1739539345 3300757792 -6517938239175606295 " + "1703311890815005320 .") { Console.WriteLine("SetFields: unexpected values: " + values); Fail(101); } Console.WriteLine("Field setters succeeded"); // invoke the methods p1_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p1_ }, null, null, null); p2_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p2_ }, null, null, null); p3_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p3_ }, null, null, null); p4_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p4_ }, null, null, null); p5_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p5_ }, null, null, null); p6_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p6_ }, null, null, null); p7_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p7_ }, null, null, null); p8_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, new Object[] { p8_ }, null, null, null); // verify the values of all fields values = p1_.ToString() + " " + p2_.ToString() + " " + p3_.ToString() + " " + p4_.ToString() + " " + p5_.ToString() + " " + p6_.ToString() + " " + p7_.ToString() + " " + p8_.ToString() + " " + "."; if (values != "-62 160 -19598 33392 -81588860" + "6 2306548288 5410867595358339026 3406623781630010640 .") { Console.WriteLine("Locals after primitive Invoke: unexpected values: " + values); Fail(102); } Object[] args; args = new Object[] { s2_, s3_, p1_, p1_ }; s1_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); s3_ = args[1]; p1_ = args[3]; args = new Object[] { s4_, s3_, p3_, p3_ }; s2_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); s4_ = args[0]; p3_ = args[3]; args = new Object[] { s4_, s5_, p5_, p5_ }; s3_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); s5_ = args[1]; p5_ = args[3]; args = new Object[] { s8_, s5_, p7_, p7_ }; s4_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); s8_ = args[0]; p7_ = args[3]; args = new Object[] { s8_, v_, p2_, p2_ }; s5_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); v_ = args[1]; p2_ = args[3]; args = new Object[] { f_, v_, p4_, p4_ }; s8_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); f_ = args[0]; p4_ = args[3]; args = new Object[] { f_, d_, p6_, p6_ }; v_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); d_ = args[1]; p6_ = args[3]; args = new Object[] { s1_, d_, p8_, p8_ }; f_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); s1_ = args[0]; p8_ = args[3]; args = new Object[] { s2_, s1_, s_, s_ }; d_ = GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, args, null, null, null); s2_ = args[0]; // verify the values of all fields values = _s1.ToString() + " " + _s2.ToString() + " " + _s3.ToString() + " " + _s4.ToString() + " " + _s5.ToString() + " " + _s8.ToString() + " " + _v.ToString() + " " + _f.ToString() + " " + _d.ToString() + " " + _o.ToString() + " " + _s.ToString() + " " + _e.ToString() + " " + _p1.ToString() + " " + _p2.ToString() + " " + _p3.ToString() + " " + _p4.ToString() + " " + _p5.ToString() + " " + _p6.ToString() + " " + _p7.ToString() + " " + _p8.ToString() + " " + "."; if (values != "9 104 225 80 57 184 17 160 105 8 65 240 " + "153 88 113 64 201 168 161 144 249 248 209 224 -23767 606228808 28749688728432368" + "65 -9016159779942285264 360942425 4248 49 -5.193024E+18 -6.58392565490175E+18 Ma" + "inApp 2212973731230676456 Hali 97 208 -9799 49464 1739539345 3300757792 -6517938" + "239175606295 1703311890815005320 .") { Console.WriteLine("Fields after Invoke: unexpected values: " + values); Fail(103); } // verify the values of all locals values = s1_.ToString() + " " + s2_.ToString() + " " + s3_.ToString() + " " + s4_.ToString() + " " + s5_.ToString() + " " + s8_.ToString() + " " + v_.ToString() + " " + f_.ToString() + " " + d_.ToString() + " " + o_.ToString() + " " + s_.ToString() + " " + e_.ToString() + " " + p1_.ToString() + " " + p2_.ToString() + " " + p3_.ToString() + " " + p4_.ToString() + " " + p5_.ToString() + " " + p6_.ToString() + " " + p7_.ToString() + " " + p8_.ToString() + " " + "."; if (values != "226 161 153 217 24 177 105 8 65 240 248 " + "209 224 41 72 89 152 49 128 137 232 97 208 145 9760 68383465 -100628058569588952" + "8 -1283321389773510207 -27688336 8985 216 -7.769602E+18 -3.84749538525879E+18 Ma" + "inApp 2212973731230676456 Hali -102 153 -29822 14240 1493680594 2427897976 59408" + "3122152577906 15205575963204995536 .") { Console.WriteLine("Locals after Invoke: unexpected values: " + values); Fail(104); } Console.WriteLine("Method invokes succeeded"); // get all fields s1_ = GetType().InvokeMember("_s1", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s2_ = GetType().InvokeMember("_s2", BindingFlags.Static | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s3_ = GetType().InvokeMember("_s3", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s4_ = GetType().InvokeMember("_s4", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s5_ = GetType().InvokeMember("_s5", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s8_ = GetType().InvokeMember("_s8", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); v_ = GetType().InvokeMember("_v", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); f_ = GetType().InvokeMember("_f", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); d_ = GetType().InvokeMember("_d", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); o_ = GetType().InvokeMember("_o", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); s_ = GetType().InvokeMember("_s", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); e_ = GetType().InvokeMember("_e", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p1_ = GetType().InvokeMember("_p1", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p2_ = GetType().InvokeMember("_p2", BindingFlags.Static | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p3_ = GetType().InvokeMember("_p3", BindingFlags.Static | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p4_ = GetType().InvokeMember("_p4", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p5_ = GetType().InvokeMember("_p5", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p6_ = GetType().InvokeMember("_p6", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p7_ = GetType().InvokeMember("_p7", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); p8_ = GetType().InvokeMember("_p8", BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField, null, this, null, null, null, null); // verify the values of all locals values = s1_.ToString() + " " + s2_.ToString() + " " + s3_.ToString() + " " + s4_.ToString() + " " + s5_.ToString() + " " + s8_.ToString() + " " + v_.ToString() + " " + f_.ToString() + " " + d_.ToString() + " " + o_.ToString() + " " + s_.ToString() + " " + e_.ToString() + " " + p1_.ToString() + " " + p2_.ToString() + " " + p3_.ToString() + " " + p4_.ToString() + " " + p5_.ToString() + " " + p6_.ToString() + " " + p7_.ToString() + " " + p8_.ToString() + " " + "."; if (values != "9 104 225 80 57 184 17 160 105 8 65 240 153 88 113" + " 64 201 168 161 144 249 248 209 224 -23767 606228808 2874968872843236865 -901615" + "9779942285264 360942425 4248 49 -5.193024E+18 -6.58392565490175E+18 MainApp 2212" + "973731230676456 Hali 97 208 -9799 49464 1739539345 3300757792 -65179382391756062" + "95 1703311890815005320 .") { Console.WriteLine("GetFields: unexpected values: " + values); Fail(105); } Console.WriteLine("Field getters succeeded"); // invoke the method with complex signature GetType().InvokeMember("Foo", BindingFlags.Static | BindingFlags.Public | BindingFlags.InvokeMethod, null, null, new Object[] { this, "O", "S", (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (long)Randomizer(), (sbyte)Randomizer(), (byte)Randomizer(), (short)Randomizer(), (ushort)Randomizer(), (int)Randomizer(), (uint)Randomizer(), (long)Randomizer(), (ulong)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer(), (float)Randomizer(), (double)Randomizer() }, null, null, null); Console.WriteLine("Complex invoke succeeded"); // invoke the constructor with complex signature GetType().InvokeMember("Foo", BindingFlags.Instance | BindingFlags.Public | BindingFlags.CreateInstance, null, null, new Object[] { this, s1_, s2_, s3_, s4_, s5_, s8_, v_, f_, d_, o_, s_, e_, }, null, null, null); Console.WriteLine("Constructor invoke succeeded"); }
public Struct6 Foo(Struct5 v, ref Valuesa r, byte t, ref byte tr) { Struct6 ret = new Struct6(); String values = v.ToString() + " " + r.ToString() + " " + t.ToString() + " " + tr.ToString() + " " + "."; if (values != "112 25 216 241 192 138 -21480 225324986 -59" + "58788304505077400 2658617120903057130 486515128 -9446 8 51 51 .") { Console.WriteLine("Struct6 Foo(...): unexpected values: " + values); Fail(21); } r.Randomize(); tr += (byte)Randomizer(); ret.Randomize(); return ret; }