我想知道重写转换运算符是否仅适用于数字类型? 如果不是在什么情况下,隐式或显式转换运算符将适用于其他值类型或引用类型。一个例子就是很棒。 感谢
答案 0 :(得分:3)
不 - 您可以使用任何类型。
例如,XAttribute定义了一系列转换,使各种转换变得简单:
XAttribute attrib = new XAttribute("Foo", "12345");
int i = (int)attrib;
string s = (string)attrib;
另一个有用的例子是Jon的NonNullable<T>
- 这是为了在禁用空值的同时巧妙地与类一起工作。转换操作符使其易于使用。