扩展类是一种静态的一种类的调用方法,通过实例化进行调用。利用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);
                }
 }

C#中的扩展类的理解的更多相关文章

  1. [BS-18] 对OC中不可变类的理解

    对OC中不可变类的理解 OC中存在很多不可变的类(如NSString,NSAttributedString,NSArray,NSDictionary,NSSet等),用它们创建的对象存在于堆内存中,但 ...

  2. DRF中五大扩展类及视图集的介绍

    五个扩展类 (1)ListModelMixin 列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码. 该Mixin的list方法会对 ...

  3. ES6中的class类的理解

    传统的javascript中只有对象,没有类的概念.它是基于原型的面向对象语言.原型对象特点就是将自身的属性共享给新对象.这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人 ...

  4. Dubbo#编译动态扩展类

    这篇排版有问题 后面修改....**** 以ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();为例 - ...

  5. Dubbo源码解析之SPI(一):扩展类的加载过程

    Dubbo是一款开源的.高性能且轻量级的Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用.智能容错和负载均衡,以及服务自动注册和发现. Dubbo最早是阿里公司内部的RPC框架,于 ...

  6. 理解python中的元类

    一,理解类也是对象 在python中类同样也是一种对象,只要使用关键字class,Python解释器在执行的时候就会创建一个对象,这个对象(类)自身拥有创建对象(类实例)的能力,这就是为什么他是一个类 ...

  7. [ios]objective-c中Category类别(扩展类)专题总结

    本文转载至 http://yul100887.blog.163.com/blog/static/20033613520126333344127/   objective-c类别的作用?通过类别的方式, ...

  8. 理解Lucene索引与搜索过程中的核心类

    理解索引过程中的核心类 执行简单索引的时候需要用的类有: IndexWriter.ƒDirectory.ƒAnalyzer.ƒDocument.ƒField 1.IndexWriter IndexWr ...

  9. 深刻理解Python中的元类metaclass(转)

    本文由 伯乐在线 - bigship 翻译 英文出处:stackoverflow 译文:http://blog.jobbole.com/21351/ 译注:这是一篇在Stack overflow上很热 ...

随机推荐

  1. Kindle阅读产品体验报告-随时随地畅享阅读

    产品入门-第一份产品体验报告Kindle阅读-随时随地畅享阅读时间:2018/11/18-11/22   Kindle阅读 一.产品概括 (1)体验环境 机型:荣耀8 系统:EMUI 8.0(Andr ...

  2. FileUpload之FileItem类的常用方法

    http://blog.csdn.net/chinaliuyan/article/details/7002014

  3. Linux查看当前系统32位还是64位

    getconf LONG_BIT 此方法会直接返回32或64

  4. url转码。

    Javascript 中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,deco ...

  5. 阿里云服务器安装nginx(ubantu16.04)

    下载安装包 sudo wget http://nginx.org/download/nginx-1.15.5.tar.gz 解压缩 tar zxvf nginx-1.15.5.tar.gz 打开目录 ...

  6. if 条件的 true / false 及 select 的值

    if 条件的 true / false 任何不是 false, undefined, null, 0, NaN 的值,或一个空字符串('')在作为条件语句进行测试时实际返回true,因此您可以简单地使 ...

  7. centos 安装phpize

    yum -y install php-devel 然后 /usr/bin/phpize

  8. laravel API

    /** * [api] * @author Foreach * @param string $method [请求方式] * @param string $url [地址] * @param arra ...

  9. 常用FTP命令汇总

    FTP是File Transport Protocol的简称,其作用是使连接到服务器上的客户可以在服务器和客户机间传输文件.除WWW服务外,FTP也算是使用最广泛的一种服务了.在cmd中ftp命令很多 ...

  10. nginx 的请求处理阶段

    nginx处理的11个阶段 nginx处理用户请求的流程 接收用户请求头部之后 1 .匹配对应得location 2.是否进行限速 3.验证用户是否有权限访问该资源:和判断是否是盗链的请求 4.生成用 ...