Page MenuHomePhabricator

C#: Allow using the same dll for beta and non-beta builds
Open, NormalPublic

Description

Currently the C# bindings control @beta at compile time, generating code or not into the output dll depending on the -Dmono-beta=true/false flag.

This seems to be kinda cumbersome for testing purposes, specially when you are switching fast between both contexts.

One approach discussed on IRC today was to generate the beta items in some kind of namespace/prefix, like SomeClass.Beta_SomeMethod.

The ideal solution would be something like the #define we use in C, so maybe we could try something like extension methods, so the user would do something like:

using Efl.Beta; // TA-DA!!! Beta enabled.

This may work well for methods, but for other things like classes and structs it may not work. :(

Maybe a different root namespace like EflBeta?

lauromoura triaged this task as Normal priority.