explicit关键字的作用是强制转换用户自定义的类型转换运算符。
举个例子:
如何调用请往下看
通常前面用static后免用operator,一般是把当前类型转换成另一个类型(将原类型的转换成目标类型)
static explicit operator
举个例子:
class A
{
public A(float f)
{
p = f;
}
public float p { get; }
public static explicit operator B(A a)
{
return new B(a.p * 2);
}
}
class B
{
public B(float f)
{
p = f;
}
public float p { get; }
public static explicit operator A(B b)
{
return new A(b.p * 10f);
}
}
如何调用请往下看
A a = new A(100.0f);
B b = (B)a;
richTextBox1.Text += "A类中的p是:" + a.p + "\n";
richTextBox1.Text += "B类中的p是:" + b.p + "\n";
结果如下
A类中的p是:100
B类中的p是:200