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) ); }
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)); }