【发布时间】:2009-10-23 02:12:46
【问题描述】:
假设你有一个类似下面的类:
public sealed class StringToInt {
private string _myString;
private StringToInt(string value)
{
_myString = value;
} public static implicit operator int(StringToInt obj)
{
return Convert.ToInt32(obj._myString);
}
public static implicit operator string(StringToInt obj)
{
return obj._myString;
}
public static implicit operator StringToInt(string obj)
{
return new StringToInt(obj);
}
public static implicit operator StringToInt(int obj)
{
return new StringToInt(obj.ToString());
}
}
然后你能写出如下代码吗:
MyClass.SomeMethodThatOnlyTakesAnInt(aString);
没有说明没有从字符串到整数的隐式转换?
[是的,我可以自己测试它,但我想我会把它放在那里,看看所有大师都怎么说]
【问题讨论】:
-
“是的,我可以自己测试它,但我想我会把它放在那里,看看所有大师都怎么说”——这是一个奇怪的句子。你做了所有努力来生成那个类,但你没有按下 F5?
-
听起来你应该像你说的那样自己测试并发布答案,但我不是大师。
-
我把它写在 SO 问题框中。 :D
-
尝试复制粘贴到 Visual Studio....
-
那里,我测试了它。你们现在都开心吗?
标签: c# casting implicit-conversion