有没有办法设置在请求变量时返回的内容?

Har*_*old 4 c#

你好,

例如,如果我有:

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

Mar*_*ell 6

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)