csharp: Add helpers to get/set Values from Objects
authorLauro Moura <lauromoura@expertisesolutions.com.br>
Thu, 11 Jul 2019 18:52:52 +0000 (15:52 -0300)
committerTaehyub Kim <taehyub.kim@samsung.com>
Wed, 17 Jul 2019 07:18:04 +0000 (16:18 +0900)
commit5928474b18e28ee5726b1dd5c8a6d170f2ed4248
treef9db4b940e1dfa2648158488e05ac28edc582966
parent85c8b6d5175f96e784dcac0811f63bcdd576c35b
csharp: Add helpers to get/set Values from Objects

Summary:
The user can construct an `Eina.Value` from a plain C# `object`, using
reflection to get the correct type of object and construct the correct
underlying C value.

Also added the `Unwrap()` method to return a C# object representing the
wrapped value.

Both operations are useful when using `Eina.Value` to
Get/Set values from `PropertyInfo` targets as in

```
var v = new Eina.Value(propInfo.GetValue(sourceObj));
...
propInfo.SetValue(targetObj, v.Unwrap());
```

Currently, containers are not supported. It will be added in a following
commit.

Depends on D9270

Reviewers: felipealmeida, vitor.sousa, segfaultxavi

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9272
src/bindings/mono/eina_mono/eina_value.cs
src/tests/efl_mono/Value.cs