C#中级编程——C#扩展方法,基于Unity(一)

33 篇文章 5 订阅
17 篇文章 0 订阅

C#中级编程——C#扩展方法,基于Unity(一)

🔥总目录C#语法系列详解——总目录持续更新中。。。

目标:

记录下扩展方法的创建,实现和调用。


内容:

例如我们通过扩展方法,要给Unity的Transform写个reset方法。

创建:

直接上代码

using UnityEngine;

public static class ResetTransform
{
    public static void ResetTransformAction(this Transform trans)
    {
        trans.localPosition=Vector3.zero;
        trans.localRotation = Quaternion.identity;
        trans.localScale=Vector3.one;
    }
}

调用:

using UnityEngine;
public class Test611 : MonoBehaviour
{
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.F1))
        {
            transform.ResetTransformAction();
        }
    }
}


总结:

创建一个包含所有扩展方法的类是很常见的做法。此类必须是静态类。
扩展方法即使像普通方法一样使用,也必须声明为静态。
请注意,第一个参数具有“this”关键字,后跟一个 Transform变量。
此变量表示扩展方法会成为哪个类的一部分。


调用的时候:

请注意,即使方法声明中有一个参数,也不会将任何参数传递给此扩展方法。
调用此方法的Transform 对象会自动作为第一个参数传入。


欢迎大佬多多来给萌新指正,欢迎大家来共同探讨。
如果各位看官觉得文章有点点帮助,跪求各位给点个“一键三连”,谢啦~

声明一下:本博文章若非特殊注明皆为原创原文链接
https://blog.csdn.net/Wrinkle2017/article/details/117817206
————————————————————————————————

版权声明

版权声明:本博客为非营利性个人原创
所刊登的所有作品的著作权均为本人所拥有
本人保留所有法定权利,违者必究!
对于需要复制、转载、链接和传播博客文章或内容的
请及时和本博主进行联系
对于经本博主明确授权和许可使用文章及内容的
使用时请注明文章或内容出处并注明网址
转载请附上原文出处链接及本声明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值