C#关于使用this的扩展方法讲解!

先创建一个扩展方法必须在静态(static修饰)类中实现,也必须要在静态(static修饰)方法中实现。

  • 标准模板:

using System;
 
namespace ExtensionMethodDemo//命名空间,可选
{

    //这里的public 是可选的你如果是private的话这个类只能在这个文件里面访问
    public static class StringExtensions
    {
       //这里的public 是可选的你如果是private的话这个方法只能在这个类里面访问
       //<returnType> 是扩展方法的返回类型
       //<ExtensionMethodName> 是扩展方法的名称
       //<ExtendedClassType> 是要扩展的类的类型!这个很关键,并且一定要放第一个位置
       //obj 是该类的实例,可以在扩展方法中使用
       //<params> 是方法的参数列表,可以多个也可以零个,可以在方法体调用
       public static <returnType> <ExtensionMethodName>
                        (this <ExtendedClassType> obj, <params>)
            {
                // 代码体
            }
       //你可以写多个扩展方法,普通方法也可以不写

}
  • 调用模板:

//定义一个返回string类型的关于int类型的扩展方法;
public static class MathExtensions
{
    public static string Square(this int number)
    {
        int a=number * number;
        return a.ToString();
    }
}
class Program
{
    static void Main(string[] args)
    {
        int number = 2;
        string a = number.Square(this);
         Console.Write(a);
    }
}
  • 附言

讲解完毕,下面附一个多参数的例子

public static class StringExtensions
{
    public static string Replace(this string input, string oldValue, string newValue, StringComparison comparisonType)
    {
        // Method implementation
    }
}

有什么疑惑的可以在评论区问,有时间我会解答,鄙人也不是很会,有错误的、可以优化、没讲好的地方请大佬指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值