Exemple #1
0
    public static int test_0_arm64_dyncall_vtypebyrefonstack()
    {
        var s = new LargeStruct()
        {
            a = 1, b = 2, c = 3, d = 4
        };

        NullableMethods.GetHasValueManyArgs <LargeStruct> (1, 2, 3, 4, 5, 6, 7, 8, s);

        Type type = typeof(LargeStruct?).GetGenericArguments() [0];
        var  m    = typeof(NullableMethods).GetMethod("GetHasValueManyArgs", BindingFlags.Static | BindingFlags.Public);
        bool b1   = (bool)m.MakeGenericMethod(new Type[] { type }).Invoke(null, new object[] { 1, 2, 3, 4, 5, 6, 7, 8, s });

        if (!b1)
        {
            return(1);
        }
        bool b2 = (bool)m.MakeGenericMethod(new Type[] { type }).Invoke(null, new object[] { 1, 2, 3, 4, 5, 6, 7, 8, null });

        if (b2)
        {
            return(2);
        }
        return(0);
    }