The closes thing to C# events implemented by GLib are the GObject signals.
Use g_signal_connect
to connect your callback to an existing signal, and g_signal_emit
to emit a registered signal. See the documentation for details.
As you are coming from a C# background, you might also consider using Vala, a programming language built around the GObject object system that compiles to C and has a feel similar to that of C# or Java.