static void doUpdate4(mtest.Ipublishable_seven data)
 {
     //erase elements in vector
     data.intVec.RemoveAt(0);
     data.realVec.RemoveAt(1);
     data.structVec.RemoveAt(1);
 }
        static void doUpdate5(mtest.Ipublishable_seven data)
        {
            //insert elements in vector
            data.intVec.Insert(0, 77);
            data.uintVec.Insert(1, 88);
            data.realVec.Insert(2, 99);
            data.strVec.Insert(3, "last");

            mtest.Ipoint3D e1 = new mtest.point3D();
            e1.x = 301;
            e1.y = 302;
            e1.z = 303;
            data.structVec.Insert(1, e1);
        }
        static void doUpdate2(mtest.Ipublishable_seven data)
        {
            //modify existing elements
            data.intVec[0]  = 303;
            data.uintVec[1] = 404;
            data.realVec[2] = 505;
            data.strVec[1]  = "four";

            mtest.Ipoint3D e1 = new mtest.point3D();
            e1.x = 901;
            e1.y = 902;
            e1.z = 903;
            data.structVec[0] = e1;
        }
        static void doUpdate3(mtest.Ipublishable_seven data)
        {
            //replace complete vector
            IList <String> strVec = new List <String>();

            strVec.Add("four");
            strVec.Add("five");
            data.strVec = strVec;

            data.realVec = new List <Double>();

            IList <mtest.Ipoint3D> vec = new List <mtest.Ipoint3D>();

            mtest.Ipoint3D e1 = new mtest.point3D();
            e1.x = 301;
            e1.y = 302;
            e1.z = 303;
            vec.Add(e1);
            data.structVec = vec;
        }
 static void doUpdate1(mtest.Ipublishable_seven data)
 {
     //modify substructure inside vector
     data.structVec[0].y = 505;
 }