static void OverrideGetRoot(GLib.GType gtype, GetRootNativeDelegate callback) { unsafe { IntPtr *raw_ptr = (IntPtr *)(((long)gtype.GetClassPtr()) + (long)class_abi.GetFieldOffset("get_root")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate)callback); } }
static void OverrideGetRoot (GLib.GType gtype, GetRootNativeDelegate callback) { AtkUtilClass class_iface = GetClassStruct (gtype, false); class_iface.GetRoot = callback; OverrideClassStruct (gtype, class_iface); }