private static double Cosine(double x) { var radians = GoFunctions.Cosine(x); Console.WriteLine($"[C#] Cosine({x}) = {radians}"); return(radians); }
private static int Add(int x, int y) { var sum = GoFunctions.Add(x, y); Console.WriteLine($"[C#] Add {x} + {y} = {sum}"); return(sum); }
private void button1_Click(object sender, EventArgs e) { var encrypted = GoFunctions.Encrypt(System.Text.Encoding.UTF8.GetBytes("hello")); var decrypted = GoFunctions.Decrypt(System.Text.Encoding.UTF8.GetBytes(Marshal.PtrToStringAnsi(encrypted))); label1.Text = Marshal.PtrToStringAnsi(encrypted); label2.Text = Marshal.PtrToStringAnsi(decrypted); }
private static string GetOrganizationAsJson(WebWindow window, string organizationId) { var orgPtr = GoFunctions.GetOrganizationAsJson(new GoString(organizationId)); var org = Marshal.PtrToStringAnsi(orgPtr); GoFunctions.FreeString(orgPtr); Console.WriteLine($"[C#] GetOrganizationAsJson {organizationId} -> {org}"); return(org); }
private static void GoLangDoThrow() { Console.WriteLine($"[C#] GoLangDoThrow"); var r = GoFunctions.DoThrow(); var error = Marshal.PtrToStringAnsi(r); GoFunctions.FreeString(r); throw JsonConvert.DeserializeObject <RemoteException>(error); }
private static long[] Sort(long[] numbers) { long[] unsorted = new long[numbers.Length]; numbers.CopyTo(unsorted, 0); var array = new GoSlice(numbers); GoFunctions.Sort(array); Console.WriteLine($"[C#] Sort({string.Join(",", unsorted)}) = {string.Join(",", numbers)}"); return(numbers); }
private static Organization GetOrganizationAsCtype(WebWindow window, string organizationId) { var orgPtr = GoFunctions.GetOrganizationAsCtype(new GoString(organizationId)); var goOrg = (GoOrganization)Marshal.PtrToStructure(orgPtr, typeof(GoOrganization)); var org = Organization.fromGoOrganizaton(goOrg); var goEmploee = goOrg.employees; while (goEmploee != IntPtr.Zero) { var emp = (GoEmploee)Marshal.PtrToStructure(goEmploee, typeof(GoEmploee)); var emploee = Emploee.FromGoEmploee(emp); org.Employees.Add(emploee); goEmploee = emp.nextEmployee; } GoFunctions.FreeOrganizationAsCtype(orgPtr); Console.WriteLine($"[C#] GetOrganizationAsCtype {organizationId} -> {org}"); return(org); }
private static void Log(string message) { var msgId = GoFunctions.Log(new GoString(message)); Console.WriteLine($"[C#] msgid {msgId}"); }