User-Defined Conversions
using System;
using System.Text;
struct MyType
{
private int value;
public MyType(int value)
{
this.value = value;
}
public static explicit operator MyType(short value){
Console.WriteLine("public static explicit operator MyType(short value)");
return new MyType();
}
public static implicit operator short(MyType myType){
Console.WriteLine("public static implicit operator short(MyType myType)");
return 0;
}
public static implicit operator string(MyType myType){
Console.WriteLine("public static implicit operator string(MyType myType)");
return "String value:";
}
}
class MainClass
{
public static void Main()
{
int s = 12;
MyType numeral = new MyType(s);
s = 165;
numeral = (MyType) s;
Console.WriteLine("as int: {0}", (int)numeral);
Console.WriteLine("as string: {0}", (string)numeral);
int s2 = numeral;
}
}
Output public static explicit operator MyType(short value)
public static implicit operator short(MyType myType)
as int: 0
public static implicit operator string(MyType myType)
as string: String value:
public static implicit operator short(MyType myType)
|
HTML code for linking to this page:
Related in same category :
-
-
-
|