public class MyClassTwo { }
public class MyClassOne {
public static void test() {
MyClassOne one = new MyClassOne();
int r = (int)one;
MyClassOne rr = 10;
MyClassTwo Two = new MyClassTwo();
Two = (MyClassTwo)one;
one = Two;
}
public static implicit operator MyClassOne(int i) //转换:int 转 MyClassOne 类型 转换后返回 一个 MyClassOne 对象
{
return new MyClassOne();
}
public static explicit operator int(MyClassOne one) //转换: MyClassOne 类型 转 int 转换后返回 一个 int 类型 对象
{
return 1;
}
public static explicit operator MyClassTwo(MyClassOne one) //转换:MyClassOne 转 MyClassTwo 类型 转换后返回一个 MyClassTwo 对象
{
return new MyClassTwo();
}
public static implicit operator MyClassOne(MyClassTwo Two) //转换:MyClassTwo 转 MyClassOne 类型 转换后返回一个 MyClassTwo 对象
{
return new MyClassOne();
}
}
跟详细类容参见
http://hi.baidu.com/thanks010/item/cf5727cca2ef3d3c44941609