public static void PassAsParameter(T t1, T t2)
    {
        T temp = t1;

        Test_static_passing_class01.Eval(t1.Equals(PassAsIn(temp)));
        Test_static_passing_class01.Eval(t1.Equals(PassAsRef(ref temp, t2)));
        Test_static_passing_class01.Eval(t2.Equals(temp));
        temp = t1;
        PassAsOut(out temp, t2);
        Test_static_passing_class01.Eval(t2.Equals(temp));
    }
    public void PassAsParameter(T t1, T t2)
    {
        Fld1 = t1;
        Fld2 = t2;

        T temp = t1;

        Test_static_passing_class01.Eval(Fld1.Equals(PassAsIn(temp)));
        Test_static_passing_class01.Eval(Fld1.Equals(PassAsRef(ref temp)));
        Test_static_passing_class01.Eval(Fld2.Equals(temp));
        temp = t1;
        PassAsOut(out temp);
        Test_static_passing_class01.Eval(Fld2.Equals(temp));
    }