先展示下效果:
上图是一个定义的枚举类型Direction,表示枚举东南西北四个方向。下图是通过扩展产生了新的方法Opposite。(PS:这里Opposite方法的作用是获取反方向)
并且这种拓展也适用于枚举的对象,如下图。direction2通过Oppsite函数获取到了direction1的反方向。
实现方法如下:
上图定义了一个静态类ExtensionsFunction,用于在其中定义扩展方法。
类中定义了一个静态的扩展方法Opposite,其第一个参数类型表示将该方法拓展到哪个类型上。
拓展:
类的扩展也可以用相同的方法定义,比如下面演示了为Vector3类型添加一个获取其Y轴归0后的Vector3的方法。
(1)定义静态扩展方法ResetY。
(2)然后即可调用RestY方法。
(3)步骤2代码输出如下。成功将Y轴归零。
然后就完了。
扩展方法是一种语法糖,能起到精简代码结构的作用。