4

这是允许的吗?如果不是,这可以通过重载隐式/显式转换运算符来固有地完成吗?

4

3 回答 3

15

是否允许重载“is”和“as”运算符?

不。

如果不是,这可以通过重载隐式/显式转换运算符来固有地完成吗?

不。“as”和“is”运算符告诉您事物的真正含义。他们不关注用户定义的转换。

http://blogs.msdn.com/b/ericlippert/archive/2009/10/08/what-s-the-difference-between-as-and-cast-operators.aspx

http://blogs.msdn.com/b/ericlippert/archive/2010/09/16/is-is-as-or-is-as-is.aspx

有关“as”和“is”运算符的更多想法。

于 2011-01-20T14:53:22.030 回答
5

不。检查这个: 可重载的运算符 和这个所有 C# 运算符

于 2011-01-20T14:53:18.637 回答
0

不,因为它们本身不是运算符,它们是语言的关键字。

另外,我不确定您会将它们重载到什么并且仍然保留语言规范的语义?似乎它只能用于大恶:)

于 2011-01-20T14:52:50.643 回答