csharp: Implement Deconstruct for structs.
authorJoão Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Thu, 12 Dec 2019 21:32:31 +0000 (18:32 -0300)
committerJongmin Lee <jm105.lee@samsung.com>
Mon, 16 Dec 2019 03:24:04 +0000 (12:24 +0900)
commitd3dfc3675ef20e4a9bc24f841a12b2f4f8b8653a
tree245c715a901c7011e5687f028b543d03e294443a
parentd35c567de40b535920dae08cfe345bc28a1f7dd0
csharp: Implement Deconstruct for structs.

Summary:
Usage example:

```
var (x, y) = somePos2D;
```

Not available on Mono environment due to [`mcs` not implementing
it](https://github.com/mono/mono/blob/a3de0304a190c54124df3486ce9c34b6262787a8/mcs/mcs/tuples.cs#L590).
To keep tests from breaking because of it, a `MONO` preprocessor variable is
defined and checked during test compilation.

Ref T8489.

Reviewers: brunobelo, lauromoura, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8489

Differential Revision: https://phab.enlightenment.org/D10809
src/bin/eolian_mono/eolian/mono/struct_definition.hh
src/bindings/mono/meson.build
src/tests/efl_mono/Structs.cs