public static int set_value(cef_domnode_t* self, cef_string_t* value) { set_value_delegate d; var p = self->_set_value; if (p == _pc) { d = _dc; } else { d = (set_value_delegate)Marshal.GetDelegateForFunctionPointer(p, typeof(set_value_delegate)); if (_pc == IntPtr.Zero) { _dc = d; _pc = p; } } return d(self, value); }