【C#】This扩展方法

扩展方法,可以在类之外扩展类的方法。

在某些不能修改源码或者引用一些库的情况,可以利用扩展方法为这个类增加一个新方法。

要求:

1. 声明扩展方法的类必须是static静态类;

2. 扩展方法本身必须static静态方法;

3. 扩展方法必须包含关键字this作为第一个参数类型。

比如:

Unity中 "gameObject.GetComponent<Transform>() ; " 可以通过GameObject直接调用Unity定义好的API "GetComponent" ,如果已有API满足不了使用需求,还可以利用This关键字进行扩展。

修改Transform.Position的X值:

    public static void SetPositionX(this Transform t, float newX)
    {
        t.position = new Vector3(newX, t.position.y, t.position.z);
    }

修改Vector3的Y值:

    public static Vector3 SetY(this Vector3 t, float newY)
    {
        t.y = newY;
        return t;
    }

修改Color的透明度: 

    public static Color SetAlpha(this Color c, float newAlpha)
    {
        c.a = newAlpha;
        return c;
    }

这样就可以自己封装一些使用频率高的方法函数,调用更加简洁方便,但这样也会混淆Unity原有函数,需要合理使用~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧然CS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值