C#中的扩展类的理解


扩展类是一种静态的一种类的调用方法,通过实例化进行调用。利用this进行指正该类,有参数的时候直接在后面追加参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//必须定义为公共的静态类
public  static  class  Studentinfo{
     //定义一个添加学生姓名的扩展方法
     public  static  string  AddStuname( this  string  stuname){
                return  studentname;
            }        
      //添加多个参数的扩展方法
     public  static  string  AddStudentinfo( this  string  stuname, string  stunum){
               return  string .Format( "学生信息:\n" + "学生姓名:{0}\n" + "学生学号:{1}" ,stuname,stunum);
             }
}
 
 
//这种方法跟一般的调用方法一致
//实例化类然后直接使用函数就行
class   Students
{
         public  static  void  Main( string [] args){
                 studentinfo stu= new  studentinfo();
                 string  stuinfo=stu.Addstuname();
                 string  stuinfos=stu.AddStudentinfo( "sldkfj" , "001" );
                 Console.WriteLine(stuinfo);
                 Console.WriteLine(stuinfos);
              }
}
 
//为stu类扩展(一般用于不知道类中的源代码,只知道功能时候)
pulic  class  Stu{
              public  void  foo(){
               ....
             }
              public  void  fo( string  stuname, string  stuno){
                 ....
              }
}
 
//stu类的扩展类
public  static  class  ExtenStu{
            //传参进行类的实例化
            public  static  string  ExtenStuAdd( this  Stu student){
                 return  student.foo();
               }
             //传参进行类的实例化,有参数在后面追加
             public  static  string  ExtenStuAddinfo( this  Stu students, string  stusname, string  stusnum)
                {
                   return  students.fo(stusname,stusnum);
                 }
  }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM