我们在做项目的时候有些时候会遇到这种情况,使用别人封装的方法,但是又觉得方法没有自己所需求的,或者不是自己想要得,还有一种情况就是当你去接收别人的项目的时候,需要做修改而不能变动以前代码的时候,可能就需要用到扩展方法,这样既不会改变别人写的代码,又可以加上自己的修改,并为同一实例调用,是一种好用的方法。
在unity中简单使用
1.新建Attack类,包含几种攻击方法
public class Attack { public void AttackOne() { Debug.Log("攻击一"); } public void AttackTwo() { Debug.Log("攻击二"); } public void AttackThree() { Debug.Log("攻击三"); } }2.新建ExtensionAttack类,写需要扩展的方法
using UnityEngine; using System.Collections; //声明扩展的方法的类必须是static //扩展的方法必须声明为static //扩展方法必须包含关键字this作为第一个参数类型,后面跟上要扩展的类的名字 public static class ExtensionAttack { public static void AttackOther(this Attack attack) { Debug.Log("其他攻击"); } }3.测试脚本
using UnityEngine; using System.Collections; public class TestExtension : MonoBehaviour { void Start() { Attack attack = new Attack(); attack.AttackOne(); //用原始实例来调用 attack.AttackOther(); } }转载请注明出处:http://blog.csdn.net/gzw187327