【Unity3D日常开发】扩展方法的使用
发布日期:2021-06-30 11:40:02
浏览次数:2
分类:技术文章
本文共 1120 字,大约阅读时间需要 3 分钟。
一、前言
在程序开发中,可能会遇到现有类型的方法中没有我们想要的方法,这时候就可以使用扩展方法给已有类型添加新的方法,而无需创建新的派生类、重新编译或者其他方式修改原始类型的代码。
扩展方法需要定义成静态方法,通过实例方法语法进行调用,参数类型就是制定方法作用于哪个类型,该参数使用this修饰符为前缀二、为System.String类添加扩展方法
下面的示例演示为 System.String 类定义的一个扩展方法。 请注意,它是在非嵌套的、非泛型静态类内部定义的:
public static class MyExtensions{ public static int ReturnWordCount(this string str) { return str.Split(new char[] { ' ', '.', '?' }, System.StringSplitOptions.RemoveEmptyEntries).Length; }}
调用该扩展方法:
using UnityEngine;public class Test_Extend : MonoBehaviour{ void Start() { string str = "Hello Extension Methods"; int count = str.ReturnWordCount(); Debug.Log(count); }}
编译结果:
二、为UnityEngine.GameObject类添加扩展方法
为游戏对象一次添加两个组件
public static class MyExtensions{ public static void AddBRComponent(this GameObject obj) { obj.AddComponent(); obj.AddComponent (); }}
调用该扩展方法:
using UnityEngine;public class Test_Extend : MonoBehaviour{ void Start() { GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube); obj.AddBRComponent(); }}
转载地址:https://itmonon.blog.csdn.net/article/details/109263902 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月26日 02时10分13秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
jsp自定义标签笔记
2019-04-30
docker安装redis
2019-04-30
docker安装mongo
2019-04-30
docker安装禅道
2019-04-30
Java浮点数运算工具类
2019-04-30
操作消息提醒工具类封装
2019-04-30
驼峰命名字符串处理
2019-04-30
JSON解析处理工具类
2021-07-03
日志记录工具类封装
2021-07-03
系统后台做登录账号密码次数验证
2021-07-03
bootstrap徽章颜色
2021-07-03
bootstrap-table分页记住勾选
2021-07-03
mysql数据库代码生成关键查询
2021-07-03
summernote编辑器数据回显
2021-07-03
summernote禁止图片视频上传
2021-07-03
1.Ribbon注册服务内部调用
2021-07-03
2.Openfeign注册服务内部调用
2021-07-03
1.gateway搭建
2021-07-03