Exemple #1
0
  public static void Main() {

    // Try to set the values of some global variables

    example.ivar   =  42;
    example.svar   = -31000;
    example.lvar   =  65537;
    example.uivar  =  123456;
    example.usvar  =  61000;
    example.ulvar  =  654321;
    example.scvar  =  -13;
    example.ucvar  =  251;
    example.cvar   =  'S';
    example.fvar   =  (float)3.14159;
    example.dvar   =  2.1828;
    example.strvar =  "Hello World";
    example.iptrvar= example.new_int(37);
    example.ptptr  = example.new_Point(37,42);
    example.name   = "Bill";

    // Now print out the values of the variables

    Console.WriteLine( "Variables (values printed from C#)" );

    Console.WriteLine( "ivar      =" + example.ivar );
    Console.WriteLine( "svar      =" + example.svar );
    Console.WriteLine( "lvar      =" + example.lvar );
    Console.WriteLine( "uivar     =" + example.uivar );
    Console.WriteLine( "usvar     =" + example.usvar );
    Console.WriteLine( "ulvar     =" + example.ulvar );
    Console.WriteLine( "scvar     =" + example.scvar );
    Console.WriteLine( "ucvar     =" + example.ucvar );
    Console.WriteLine( "fvar      =" + example.fvar );
    Console.WriteLine( "dvar      =" + example.dvar );
    Console.WriteLine( "cvar      =" + example.cvar );
    Console.WriteLine( "strvar    =" + example.strvar );
    Console.WriteLine( "cstrvar   =" + example.cstrvar );
    Console.WriteLine( "iptrvar   =" + example.iptrvar );
    Console.WriteLine( "name      =" + example.name );
    Console.WriteLine( "ptptr     =" + example.ptptr + example.Point_print(example.ptptr) );
    Console.WriteLine( "pt        =" + example.pt + example.Point_print(example.pt) );

    Console.WriteLine( "\nVariables (values printed from C)" );

    example.print_vars();

    Console.WriteLine( "\nNow I'm going to try and modify some read only variables" );
    Console.WriteLine( "\nChecking that the read only variables are readonly..." );

    example ex = new example();
    Type t = ex.GetType();

    Console.WriteLine( "     'path'" );
    PropertyInfo pi = t.GetProperty("path");
    if (pi.CanWrite)
      Console.WriteLine("Oh dear this variable is not read only\n");
    else
      Console.WriteLine("Good.");

    Console.WriteLine( "     'status'" );
    pi = t.GetProperty("status");
    if (pi.CanWrite)
      Console.WriteLine("Oh dear this variable is not read only");
    else
      Console.WriteLine("Good.");

    Console.WriteLine( "\nI'm going to try and update a structure variable.\n" );

    example.pt = example.ptptr;

    Console.WriteLine( "The new value is" );
    example.pt_print();
    Console.WriteLine( "You should see the value" + example.Point_print(example.ptptr) );
  }
Exemple #2
0
    public static void Main()
    {
        // Try to set the values of some global variables

        example.ivar    = 42;
        example.svar    = -31000;
        example.lvar    = 65537;
        example.uivar   = 123456;
        example.usvar   = 61000;
        example.ulvar   = 654321;
        example.scvar   = -13;
        example.ucvar   = 251;
        example.cvar    = 'S';
        example.fvar    = (float)3.14159;
        example.dvar    = 2.1828;
        example.strvar  = "Hello World";
        example.iptrvar = example.new_int(37);
        example.ptptr   = example.new_Point(37, 42);
        example.name    = "Bill";

        // Now print out the values of the variables

        Console.WriteLine("Variables (values printed from C#)");

        Console.WriteLine("ivar      =" + example.ivar);
        Console.WriteLine("svar      =" + example.svar);
        Console.WriteLine("lvar      =" + example.lvar);
        Console.WriteLine("uivar     =" + example.uivar);
        Console.WriteLine("usvar     =" + example.usvar);
        Console.WriteLine("ulvar     =" + example.ulvar);
        Console.WriteLine("scvar     =" + example.scvar);
        Console.WriteLine("ucvar     =" + example.ucvar);
        Console.WriteLine("fvar      =" + example.fvar);
        Console.WriteLine("dvar      =" + example.dvar);
        Console.WriteLine("cvar      =" + example.cvar);
        Console.WriteLine("strvar    =" + example.strvar);
        Console.WriteLine("cstrvar   =" + example.cstrvar);
        Console.WriteLine("iptrvar   =" + example.iptrvar);
        Console.WriteLine("name      =" + example.name);
        Console.WriteLine("ptptr     =" + example.ptptr + example.Point_print(example.ptptr));
        Console.WriteLine("pt        =" + example.pt + example.Point_print(example.pt));

        Console.WriteLine("\nVariables (values printed from C)");

        example.print_vars();

        Console.WriteLine("\nNow I'm going to try and modify some read only variables");
        Console.WriteLine("\nChecking that the read only variables are readonly...");

        example ex = new example();
        Type    t  = ex.GetType();

        Console.WriteLine("     'path'");
        PropertyInfo pi = t.GetProperty("path");

        if (pi.CanWrite)
        {
            Console.WriteLine("Oh dear this variable is not read only\n");
        }
        else
        {
            Console.WriteLine("Good.");
        }

        Console.WriteLine("     'status'");
        pi = t.GetProperty("status");
        if (pi.CanWrite)
        {
            Console.WriteLine("Oh dear this variable is not read only");
        }
        else
        {
            Console.WriteLine("Good.");
        }

        Console.WriteLine("\nI'm going to try and update a structure variable.\n");

        example.pt = example.ptptr;

        Console.WriteLine("The new value is");
        example.pt_print();
        Console.WriteLine("You should see the value" + example.Point_print(example.ptptr));
    }