C#之高级篇

本文介绍了C#中的扩展方法,它允许在不修改源代码的情况下为类添加新方法。扩展方法需用`this`关键字,方法和类必须为静态且公开。当扩展方法与原始类型中的方法同名时,会优先调用类型自身的方法。此外,文章还提及了泛型的概念,它是C#中创建类型安全和高效代码的重要工具。
摘要由CSDN通过智能技术生成
  • 1.扩展方法

1.1-什么是扩扩展方法?

我们先来看这副图,然后再来讲解一下什么是扩展方法

这里我们可以看到当我们点一个变量的时候可以出现一些方法,但是有的时候没有我们想要的方法,怎么办呐?
这里可以看到我们在点变量的时候会出现一些方法,但是并不是所有方法对满足我们的需求

 其实通过上面的这幅图我们应该大体知道什么是扩展方法了,简单一点来说就是当C#提供的方法不能用的时候我们可以自己写一些方法来用。

扩展方法好处:在没有扩展方法你可能会想到我们可以通过修改源代码,或者写一个工具类来解决这种问题,但是修改源代码风险很大。

1.2-扩展方法结构

提示: 

1.参数前面必须加上this关键字 
2.类和方法必须是静态 
3.这里还有一个小点是必须声明为公开

使用方法:直接在变量后面点就可以出来

[Test]
public void testExtend()
{
    string world = " World!";
    var packaging = world.packaging();
    Console.WriteLine(packaging); // 输出Hello World! 
}

1.3-扩展失效情况(补充说明

文字说明:扩展方法与扩展的类型中具有相同的方法是时候就会失效,会调用类型的方法,而不会调用扩展的方法

代码展示

1.3.1-我们建立一个Student类,并写一个方法

public class Student
{
   public void StuInfo()
     {
       Console.WriteLine("Student-Class!");
     }
}

1.3.2-我们在扩展类也来建一个同等的方法

public static void StuInfo()
{
   Console.WriteLine("Extend-Class!");
}

1.3.3-测试

[Test]
public void testExtendLoseEfficacy()
{
    Student student = new Student();
    student.StuInfo(); // Student-Class!
}
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
  • 2.泛型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值