我有一个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
}
我如何更新我的类来显示预期的结果?
你应该覆盖 ToString()
方法,而不是创建一个隐式类型转换。
public override string ToString()
{
return "(" + obj.x + "," + obj.y + ")";
}