Page MenuHomePhabricator

efl-mono: Remove initializer methods and add constructor parameters
Open, HighPublic


As discussed in T7477, it turns out the initializer methods we have been using in C# (or the initializer lists used in C) are not meant as all-purpose configuration methods. Only a handful of properties can be reliably set in there, and those are the ones in the constructors section of the EO files.
This can be enforced at runtime by not allowing calls to forbidden method until the object has finalized construction, but, in C#, it is much simpler to just remove the initialization method completely, and turn the allowed properties into optional constructor parameters.

This means that all properties in the constructors section are turned into constructor parameters, so the @ctor_param tag from T7399 is not needed anymore and should be removed.