在c#中,'这个'是什么意思

时间:2013-08-11 12:38:37

标签: c# c#-4.0

I came across this bit of c# at this link

我无法弄清楚这一行......

public StockTickerHub() : this(StockTicker.Instance) { }

看起来有点像从基类继承,但我之前没有看到this这样使用过。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;

namespace SignalR.StockTicker
{
    [HubName("stockTickerMini")]
    public class StockTickerHub : Hub
    {
        private readonly StockTicker _stockTicker;

        public StockTickerHub() : this(StockTicker.Instance) { }

        public StockTickerHub(StockTicker stockTicker)
        {
            _stockTicker = stockTicker;
        }

        public IEnumerable<Stock> GetAllStocks()
        {
            return _stockTicker.GetAllStocks();
        }
    }
}

3 个答案:

答案 0 :(得分:8)

它调用同一个类的另一个构造函数。

public class Foo
{
    public Foo() : this (1) { }

    public Foo(int num) 
    {

    }
}

致电new Foo()会调用Foo(1)

更多信息:http://www.dotnetperls.com/this-constructor

答案 1 :(得分:2)

this(StockTicker.Instance)触发另一个类构造函数:

Using Constructors (C# Programming Guide)

  

构造函数可以通过调用同一对象中的另一个构造函数   使用this关键字。与base类似,可以使用或不使用   参数和构造函数中的任何参数都可用   参数,或作为表达式的一部分。

答案 2 :(得分:0)

它调用另一个构造函数