当前位置: 代码迷 >> 综合 >> Unity学习笔记--Extension Method 扩展方法
  详细解决方案

Unity学习笔记--Extension Method 扩展方法

热度:27   发布时间:2023-11-25 16:11:55.0

引言

最近跟着麦克学习Unity的时候,学习到了类的扩展方法。比如你现在有一个已有的类,你想给它加一个方法,当然如果是你自己写的类可以直接在这个方法里面写,但是如果是Unity自带的类,我们不可能直接去编辑它们,我们只是去利用这个类然后加上一些我们自己的方法。所以我们就可以用到Extension Method 扩展方法。
附:Unity官方教程:教程

注:

下方步骤均为硬性要求,并且以扩展Transform类为例子。

步骤一

首先创建一个类。不继承MonoBehaviour。
将该类设置为Static,也就是静态类。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public static class ExtensionMethod
{
    }
步骤二

创建一个你需要拓展的的方法,该方法为静态的。该方法的第一个参数为以下格式:this + 你需要扩展的类的名字 + 变量名。后面几个参数都是需要就加。

解析:第一个参数表示你需要扩展的类,该扩展方法中可以用,实际调用方法的时候不需要传该参数。(文章下方有调用例子)

例如

this Transform trans

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public static class ExtensionMethod
{
    public static bool ExtensionMethod(this Transform transform, int var1, float var2){
    }
}
调用

在其他类的方法中,你可以这样来调用

if(满足某个条件)
{
    transform.ExtensionMethod(var1, var2);//其中var1和var2为我自己需要的参数的变量
}

总结

Extension Method 扩展方法:当你需要为某个类添加一些自定义的功能,但是又不能直接访问到源码的时候可以用到。

  相关解决方案