重复参数转换c#,更好的模式?

时间:2017-06-27 17:27:13

标签: c# unity3d

我正在为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#中有更好的方法吗?

0 个答案:

没有答案