85 lines
2.2 KiB
C#
85 lines
2.2 KiB
C#
/*
|
|
* Eina Value examples.
|
|
*
|
|
* These examples demonstrate how to work with Eina_value data and methods.
|
|
* Eina_Value is a way to represent and pass data of varying types and to
|
|
* convert efficiently between them.
|
|
* Eina_Value can even define structs for managing more complex requirements.
|
|
*/
|
|
|
|
using System;
|
|
|
|
public class Example
|
|
{
|
|
static void ValueInt()
|
|
{
|
|
int i;
|
|
|
|
// Setting up an integer value type
|
|
var int_val = new Eina.Value(Eina.ValueType.Int32);
|
|
int_val.Set(123);
|
|
int_val.Get(out i);
|
|
Console.WriteLine("int_val value is {0}", i);
|
|
|
|
// It can easily be converted to a string
|
|
string str = int_val.ToString();
|
|
Console.WriteLine("int_val to string is \"{0}\"", str);
|
|
}
|
|
|
|
static void ValueString()
|
|
{
|
|
string str;
|
|
|
|
// Setting up an string value type
|
|
var str_val = new Eina.Value(Eina.ValueType.String);
|
|
str_val.Set("My string");
|
|
str_val.Get(out str);
|
|
Console.WriteLine("str_val value is \"{0}\"", str);
|
|
|
|
// To string should have the same content
|
|
string newstr = str_val.ToString();
|
|
Console.WriteLine("str_val to string is \"{0}\"", newstr);
|
|
}
|
|
|
|
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:
|
|
int i1;
|
|
string str1;
|
|
int_val.Set(123);
|
|
int_val.Get(out i1);
|
|
int_val.ConvertTo(str_val);
|
|
str_val.Get(out str1);
|
|
Console.WriteLine("int_val was {0}, converted to string is \"{1}\"", i1, str1);
|
|
|
|
// And the other way around!
|
|
int i2;
|
|
string str2;
|
|
str_val.Set("33");
|
|
str_val.Get(out str2);
|
|
str_val.ConvertTo(int_val);
|
|
int_val.Get(out i2);
|
|
Console.WriteLine("str_val was \"{0}\", converted to int is {1}", str2, i2);
|
|
}
|
|
|
|
public static void Main()
|
|
{
|
|
Efl.All.Init();
|
|
|
|
ValueInt();
|
|
Console.WriteLine("");
|
|
|
|
ValueString();
|
|
Console.WriteLine("");
|
|
|
|
ValueConvert();
|
|
Console.WriteLine("");
|
|
|
|
Efl.All.Shutdown();
|
|
}
|
|
}
|