怎么去做一个网站,如何做网站旅游产品分析,南充房产网58同城,seo查询是什么推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群#xff1a;398291828小红书小破站 大家好#xff0c;我是佛系工程师☆恬静的小魔龙☆#xff0c;不定时更新Unity开发技巧#xff0c;觉得有用记得一键三连哦。
一、前言
【Unity3D框架】SKFramework框架完全教程《全… 推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群398291828小红书小破站 大家好我是佛系工程师☆恬静的小魔龙☆不定时更新Unity开发技巧觉得有用记得一键三连哦。
一、前言
【Unity3D框架】SKFramework框架完全教程《全网最全》-专栏文章目录 https://blog.csdn.net/q764424567/article/details/143926557
二、正文
2-1、介绍
先来了解一下扩展函数
扩展函数使其能像成员函数一样通过类.函数的方式调用。
首先创建一个静态类然后在其中定义扩展函数第一个参数使用this关键字指定要扩展的类。
针对某一个类class编写一个扩展函数func之后可以通过class.func()这种用小数点来连接的方式来调用到该扩展函数就好似为这个类添加了一个成员函数一般非常地方便。
函数扩展模块主要是存放扩展函数的合集模块。
按照类型进行分类 接下来看一下如何使用。
2-2、使用说明
以ArrayExtension为例 实例代码
using SK.Framework;
using System;
using System.Collections.Generic;
using UnityEngine;public class UseExtension : MonoBehaviour
{ListAction ActionList;void Start(){ActionListnew ListAction();ActionList.Add(() { Debug.Log(1); });ActionList.Add(() { Debug.Log(2); });ActionList.Add(() { Debug.Log(3); });ActionList.Add(() { Debug.Log(4); });ActionList.ForEach((value) { EventAction(value); });}void EventAction(Action value){value.Invoke();}
}结果
2-3、实现及代码分析
1、扩展类需要是静态的static 2、扩展函数也需要是静态的static 3、用this关键字后面跟着指定要扩展的类
public static class ArrayExtension
{public static T[] ForEachT(this T[] self, ActionT action){for (int i 0; i self.Length; i)action(self[i]);return self;}
}三、后记
如果觉得本篇文章有用别忘了点个关注关注不迷路持续分享更多Unity干货文章。 你的点赞就是对博主的支持有问题记得留言
博主主页有联系方式。
博主还有跟多宝藏文章等待你的发掘哦
专栏方向简介GameFramework框架框架Unity之GameFramework框架快速应用、使用说明、源码分析等文章合集。Unity3D开发小游戏小游戏开发教程分享一些使用Unity3D引擎开发的小游戏分享一些制作小游戏的教程。Unity3D从入门到进阶入门从自学Unity中获取灵感总结从零开始学习Unity的路线有C#和Unity的知识。Unity3D之UGUIUGUIUnity的UI系统UGUI全解析从UGUI的基础控件开始讲起然后将UGUI的原理UGUI的使用全面教学。Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。Unity3D之数据集合数据集合数组集合数组、List、字典、堆栈、链表等数据集合知识分享。Unity3D之VR/AR虚拟仿真开发虚拟仿真总结博主工作常见的虚拟仿真需求进行案例讲解。Unity3D之插件插件主要分享在Unity开发中用到的一些插件使用方法插件介绍等Unity3D之日常开发日常记录主要是博主日常开发中用到的用到的方法技巧开发思路代码分享等Unity3D之日常BUG日常记录记录在使用Unity3D编辑器开发项目过程中遇到的BUG和坑让后来人可以有些参考。