(转)C# :base的用法(冒号后面的base)

c# 中关于: base()用法,在此记录一下,方便查阅

1.this是标识当前资源对象的,而base是基于父级的。

2.base发挥了期灵魂级的作用——多态

3.base子类可以访问父类成员

4.base调用父类方法必须重写父类方法

5.base子类构造函数直接访问:base父类构造方法

6.base同样不能用于静态方法

public abstract class HttpBasedTransport : ClientTransportBase
    {
        protected HttpBasedTransport(IHttpClient httpClient, string transportName)
            : base(httpClient, transportName)
        { }
    }

父类

public abstract class ClientTransportBase : IClientTransport
    {
        private readonly IHttpClient _httpClient;
        private readonly string _transportName;
        private readonly TransportHelper _transportHelper;
        private readonly TransportAbortHandler _abortHandler;
        private bool _finished = false;

        private TransportInitializationHandler _initializationHandler;

        [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "Disposed in the Dispose method.")]
        protected ClientTransportBase(IHttpClient httpClient, string transportName)
            : this(httpClient, transportName, new TransportHelper(), new TransportAbortHandler(httpClient, transportName))
        {
        }

        internal ClientTransportBase(IHttpClient httpClient, string transportName, TransportHelper transportHelper, TransportAbortHandler abortHandler)
        {
            if (httpClient == null)
            {
                throw new ArgumentNullException("httpClient");
            }

            if (string.IsNullOrWhiteSpace(transportName))
            {
                throw new ArgumentNullException("transportName");
            }

            Debug.Assert(transportHelper != null, "transportHelper is null");
            Debug.Assert(abortHandler != null, "abortHandler is null");

            _httpClient = httpClient;
            _transportName = transportName;
            _transportHelper = transportHelper;
            _abortHandler = abortHandler;
        }
    }
时间: 2024-10-10 09:52:40

(转)C# :base的用法(冒号后面的base)的相关文章

构造函数后面的base()

先执行父类的对应的构造函数,再执行当前的构造函数. 关于子类对象的构造函数和父类构造函数的执行顺序 以下内容转自:http://blog.csdn.net/todototry/article/details/4941484 原则: 1.任何类的构造函数,一定要是public的,才能派生子类 class Base        {            private int i;            public Base(int i)             {               

Linux中awk后面的RS, ORS, FS, OFS 用法

Linux中awk后面的RS, ORS, FS, OFS 含义 一.RS 与 ORS 差在哪 我们经常会说,awk是基于行列操作文本的,但如何定义"行"呢?这就是RS的作用.  默认情况下,RS的值是\n.下面通过实例来理解下RS. echo '1a2a3a4a5' | awk '{print $1}' 1a2a3a4a5 echo '1a2a3a4a5' | awk 'BEGIN{RS="a"}{print $1}' 1 2 3 4 5我们可以看到,在更改了RS的

如何理解jsp页面的“<base href="<%=basePath%>">”

jsp文件里通常有以下代码: 这里的<base href="<%=basePath%>">是什么意思呢? 我在W3School网站上查了html中的base标签,解释如下: <base> 标签为页面上的所有链接规定默认地址或默认目标. 通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白. 使用 <base> 标签可以改变这一点.浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有

C++如何去除浮点数字符串后面的零

有时我们需要将浮点数转化为字符,然后打印输出.下面是c++的里的一种实现: char str[32]; double num = 32.0100; sprintf(str, "%f", num); std::cout<<str<<std::endl; 常见输出: 32.0100 但是,有时我们会有这样的需求:舍弃字符串最后多余的零. 我最近就遇到了这种需求,各处求解,最后通过网上案例的启发,想到了两种解决方案. 方案1: 创建一个函数removeLastZero

将后面的m个数移到前面

#include<iostream> #include<algorithm> #include<stdio.h> #include<numeric> using namespace std; int bigswap(char* a,int start,int end) { while(start<end) { swap(a[start],a[end]); start++; end--; } return 1; } int helper(char* a,

android联系人中“网站”项字段输入tel:12345678901(冒号后数字大于10位)保存后点击联系人头像,联系人停止运行

1. 新建联系人->网站项输入"tel:012345678901" (冒号后数字大于10位的情况) -> 保存. 2. 进入联系人列表,点击联系人头像 结果: WebAddress.java中抛出异常,程序停止运行 该问题发生的原因是:当在people界面点击某个有网站字段的联系人的quickContact图标时,会检查网站字段的合法性, 如果合法,才会画出quickContactActivity界面,否则会报出ParseException的异常. 找到com/androi

清除zencart分类页多页后面的&amp;disp_order &amp;sort字符串的方法

在includes\classes\split_page_results.php页面中的function display_links()函数第一行添加如下两行代码即可$parameters=preg_replace("/&disp_order=[0-9]*/","",$parameters); $parameters=preg_replace("/&sort=[0-9]*/","",$parameters);

日历(从今天起后面的14天)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> #calender li { list-style: none; table-layout: fixed; } #calender li a { display: ta

Base关键字用法

1.背景 我:虽然通过继承减少了代码冗余,但是,每一个子类的构造函数还是需要给所有属性赋值的,很麻烦的. 师:这个好办,用base就行啦. 我:贝司?还吉他呢! 师:别急,首先我们先介绍下实例化子类对象的时候调用父类构造函数. 运行结果: 从上面代码分析可知: (1)执行 ChildClass child=new ChildClass(); 会首先调用父类无参构造函数(这个构造函数一定是无参构造函数),然后再调用子类无参构造函数,所以会先显示 (2)然后再执行child.SayHello();