public static VALUE Allocate(VALUE klass) { try { VALUE obj = Ruby.Data_Wrap_Struct(klass, null, FreeFunc, IntPtr.Zero); return(obj); } catch (Exception exception) { Ruby.rb_raise(Ruby.rb_eException, exception.Message); return(Ruby.Qnil); } }