隐式转换使用implicit关键字
显示强制转换使用explicit关键字
例子:
// 自定义隐式转换
class C1
{
public static implicit operator C1(C2 c2)
{
return new C1();
}
// 返回类型为C1,即赋值号左边的类型,C2为赋值号右边的类型
// 即C1 c1=c2;
}
// 自定义显示强制转换
class C3
{
public static explicit operator C3(C4 c4)
{
return new C3();
}
// 返回类型为C3,即赋值号左边的类型,C4为赋值号右边被强制转换的类型
// 即C3 c3=(C3)c4;
}
注意:方法的修饰符必须为public static,并且该方法必须在转换源类或目标类中定义。