我正在为C#Unity游戏创建自定义对象(提供了Vector3类)
我的对象上有一系列函数,我会调用很多函数,我想要一个“高级”和“低级”版本来覆盖方便性和性能。
现在我正在处理这样的代码,试图避免重复
public uint getVal(Vector3 pos)
{
return getVal((int)pos.x, (int)pos.y, (int)pos.z);
}
public uint getVal(int x, int y, int z)
{
return data[getDataIndex(x, y, z)];
}
public void setVal(Vector3 pos, uint val)
{
setVal((int)pos.x, (int)pos.y, (int)pos.z, val);
}
public void setVal(int x, int y, int z, uint val)
{
data[getDataIndex(x, y, z)] = val;
}
然而,虽然我在避免重复,但我仍在重复一个更基本的模式:
使用Vector3 + Addtl调用方法。 Args - > Cast Vector3和调用方法的X,Y,Z版本。
我将编写更多遵循此模式的方法,在C#中有更好的方法吗?