首页 > 代码库 > C#容易被忽视的知识点(四)
C#容易被忽视的知识点(四)
19、扩展类
例如想给某个类添加一个新方法,但由于某些原因,不能直接修改类的源代码,可以通过扩展类的方法实现。
具体例子如下:
假设有个类Show
1 public class Show 2 { 3 public void MethodOne() 4 { 5 Console.WriteLine("MethodOne"); 6 } 7 } 8 9 //扩展类10 public static class ShowExtension11 {12 public static void MethodTwo(this Show s) //第一个参数是要扩展的类型,放在this关键字后面,编译器就知道这个方法是Show类型的一部分。13 {14 Console.WriteLine("MethodTwo"); 15 } 16 }17 18 19 class Program20 { 21 static void Main()22 {23 Show s = new Show();24 s.MethodOne();25 s.MethodTwo(); //调用扩展类的方法时,第一个参数不用处理。虽然扩展方法是静态,也要使用标准的实例方法语法调用。26 Console.Read();27 }28 }
注意:如果扩展方法与类中的某个方法重名,就不会调用扩展方法。类中已有的任何实例方法优先。
20、
C#容易被忽视的知识点(四)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。