什么是比代码更有效的代码?

时间:2016-05-17 13:52:33

标签: unity3d

下面是用砖块或瓷砖获取Topaz ObjectContainer的代码。

    public static ITopazObjectContainer GetTopazObjectContainer(Transform t)
    {
        ITopazObjectContainer i = (t.GetComponent<Tile>() as ITopazObjectContainer);

        if (i == null)
            i = (t.GetComponent<Brick>() as ITopazObjectContainer);

        return i;
    }

什么是比代码更有效的代码?

2 个答案:

答案 0 :(得分:3)

自Unity 4.6(release notes

以来,

GetComponent<Interface>()已得到支持

我测试了Unity 5.3.4f1中的以下代码,以确保它没有被删除。 (自从我之前做过一段时间以后)。

所以:

public static ITopazObjectContainer GetTopazObjectContainer(Transform t)
{
     return t.GetComponent<ITopazObjectContainer>();
}

如果你必须多次调用它,那么最好还是缓存该引用。不确定代码的其余部分是如何设计的。

答案 1 :(得分:1)

p.split('|')