Page MenuHomePhabricator

C#: Clash with System.Object methods
Closed, ResolvedPublic

Description

Efl.Canvas.Gesture.GetType() property hides System.Object.GetType(), which returns the C# System.Type for the given object.

What should be the approach here? Rename to something like Get<CLASS>Type so it becomes Efl.Canvas.Gesture.GetGestureType() (and the wrapper Efl.Canvas.Gesture.GestureType accordingly)?

This change could happen either at:

  • C#, by adding a new name mangling rule to the generator) or
  • Eo, changing the property name from type to gesture_type should still keep the C api generated like efl_canvas_gesture_type_get() due to that repeated name rule, right?

Related Objects

lauromoura triaged this task as TODO priority.

I think changing the EO names because of a C# issue is not nice, because when we have more bindings this is going to be a nightmare.
This looks like it wants a special rule in the C# generator, just like the Pack.DoPack() method and company.
Adding the class name so it becomes Get<CLASS>Type looks fine to me.