如何调试.记录一个自定义类

问题描述 投票:0回答:1

我有一个C# for Unity的自定义类,其中包含多个ints。

public class MyVector2Int
{

    public int x;
    public int y;

    public MyVector2Int(int xget, int yget)
    {
        x = xget;
        y = yget;
    }

    public static implicit operator string(MyVector2Int obj)
    {
        return "(" + obj.x + "," + obj.y + ")";
    }
}

但是当我Debug.Log我的类时,我没有得到想要的结果。

void MyFunction()
{
MyVector2Int v;
    v=new MyVector2Int(3,4);
    Debug.Log("Result:"+v);   // --> Expected Result:(3,4)
                              // --> Getting  Result:MyVector2Int
}

我如何更新我的类来显示预期的结果?

c# class unity3d
1个回答
3
投票

你应该覆盖 ToString() 方法,而不是创建一个隐式类型转换。

public override string ToString()
{
    return "(" + obj.x + "," + obj.y + ")";
}
© www.soinside.com 2019 - 2024. All rights reserved.