Nas*_*eer 7 c# operator-overloading
class Person
{
string Name;
int Age;
}
Run Code Online (Sandbox Code Playgroud)
我希望能够像下面一样隐式地将字符串转换为Person
var mrFoo = "Foo" as Person;
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过定义隐式转换来执行以下操作
Person mrFoo = "Foo";
Run Code Online (Sandbox Code Playgroud)
但我具体使用"as"运算符
Jon*_*eet 20
不,你做不到."as"运算符从不使用用户定义的转换 - 仅引用转化和拆箱转换.基本上,有问题的参考文献必须是正确的类型.
就我绝大多数情况而言,我个人强烈建议你远离转换操作符(尤其是隐式操作符).通常具有转换方法更清楚,例如Person.FromString(...).