【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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Unity3D插件】图表插件XCharts分享
下一篇:【C#日常】常用字符串转16进制

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月26日 02时10分13秒