summaryrefslogtreecommitdiff
path: root/Examples/csharp/funcptr/runme.cs
blob: ba2e228ea1f77a69e7e6a8750f3b06f322e2c78a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

using System;
using System.Reflection;

public class runme {

  public static void Main(String[] args) {


    int a = 37;
    int b = 42;

    // Now call our C function with a bunch of callbacks

    Console.WriteLine( "Trying some C callback functions" );
    Console.WriteLine( "    a        = " + a );
    Console.WriteLine( "    b        = " + b );
    Console.WriteLine( "    ADD(a,b) = " + example.do_op(a,b,example.ADD) );
    Console.WriteLine( "    SUB(a,b) = " + example.do_op(a,b,example.SUB) );
    Console.WriteLine( "    MUL(a,b) = " + example.do_op(a,b,example.MUL) );

    Console.WriteLine( "Here is what the C callback function classes are called in C#" );
    Console.WriteLine( "    ADD      = " + example.ADD.GetType() );
    Console.WriteLine( "    SUB      = " + example.SUB.GetType() );
    Console.WriteLine( "    MUL      = " + example.MUL.GetType() );
  }
}