efl-mono: Use new Eina.Value implicit conversions

This commit is contained in:
Xavi Artigas 2018-12-31 17:36:21 +01:00
parent a7c5ff510e
commit e06157c1f6
1 changed files with 9 additions and 28 deletions

View File

@ -13,13 +13,9 @@ public class Example
{ {
static void ValueInt() static void ValueInt()
{ {
int i;
// Setting up an integer value type // Setting up an integer value type
var int_val = new Eina.Value(Eina.ValueType.Int32); Eina.Value int_val = 123;
int_val.Set(123); Console.WriteLine("int_val value is {0}", int_val);
int_val.Get(out i);
Console.WriteLine("int_val value is {0}", i);
// It can easily be converted to a string // It can easily be converted to a string
string str = int_val.ToString(); string str = int_val.ToString();
@ -28,13 +24,9 @@ public class Example
static void ValueString() static void ValueString()
{ {
string str;
// Setting up an string value type // Setting up an string value type
var str_val = new Eina.Value(Eina.ValueType.String); Eina.Value str_val = "My string";
str_val.Set("My string"); Console.WriteLine("str_val value is \"{0}\"", str_val);
str_val.Get(out str);
Console.WriteLine("str_val value is \"{0}\"", str);
// To string should have the same content // To string should have the same content
string newstr = str_val.ToString(); string newstr = str_val.ToString();
@ -43,27 +35,16 @@ public class Example
static void ValueConvert() static void ValueConvert()
{ {
// Set up string and int types to convert between
var str_val = new Eina.Value(Eina.ValueType.String);
var int_val = new Eina.Value(Eina.ValueType.Int32);
// Convert from int to string: // Convert from int to string:
int i1; Eina.Value int_val = 123;
string str1; Eina.Value str_val = new Eina.Value(Eina.ValueType.String);
int_val.Set(123);
int_val.Get(out i1);
int_val.ConvertTo(str_val); int_val.ConvertTo(str_val);
str_val.Get(out str1); Console.WriteLine("int_val was {0}, converted to string is \"{1}\"", int_val, str_val);
Console.WriteLine("int_val was {0}, converted to string is \"{1}\"", i1, str1);
// And the other way around! // And the other way around!
int i2; str_val = "33.000";
string str2;
str_val.Set("33");
str_val.Get(out str2);
str_val.ConvertTo(int_val); str_val.ConvertTo(int_val);
int_val.Get(out i2); Console.WriteLine("str_val was \"{0}\", converted to int is {1}", str_val, int_val);
Console.WriteLine("str_val was \"{0}\", converted to int is {1}", str2, i2);
} }
public static void Main() public static void Main()