using System;
namespace ConsoleApplication1
{
struct conversion_struct
{
private int pn;
public conversion_struct(int n)
{
this.pn = n;
}
static public implicit operator conversion_struct(int n)
{
return new conversion_struct(n);
}
static public explicit operator int(conversion_struct cs)
{
return cs.pn;
}
static public implicit operator string(conversion_struct cs)
{
return "value is: " + cs.pn;
}
}
class Program
{
static void Main(string[] args)
{
try
{
conversion_struct c_struct;
c_struct = 30;
Console.WriteLine((int)c_struct);
Console.WriteLine(c_struct);
short s = (short)c_struct;
Console.WriteLine(s);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
/*
run:
30
value is: 30
30
*/