你好,
例如,如果我有:
public class Fu
{
int _bar;
public Fu(){
_bar = 12;
}
public void Square(){
_bar *= _bar;
}
}
Run Code Online (Sandbox Code Playgroud)
(顺便说一下,这只是一个例子,我知道这是做我正在做的事情的最糟糕的方式.)
无论如何我可以去:
Fu _fu = new Fu();
_fu.Square();
Console.WriteLine(_fu);
Run Code Online (Sandbox Code Playgroud)
和_fu返回144而不是类Fu?或者这只是一个荒谬的问题?
此致,哈罗德
编辑:这 Console.WriteLine(_fu);是一个糟糕的例子.如果我想做什么int twelveCubed = 12 * _fu?
Console.WriteLine必须将对象转换为字符串才能打印出来; 默认实现使用类型的名称,但您可以覆盖它:
public override string ToString() { return _bar.ToString(); }
Run Code Online (Sandbox Code Playgroud)
或者如果(评论)你想要一个转换运算符:
public static implicit operator int(Fu fu) { return fu._bar; }
Run Code Online (Sandbox Code Playgroud)