类实例化函数

时间:2017-02-13 13:59:08

标签: c#

您好我正在尝试学习C#,我从C#教程中看到了这段代码:

Public Class A()
{
    Public A () : this(capacity:10) 
    {
    }

    public int capacity 
    {
        get { return _buffer.length;}
    }
}

我只是不明白为什么他在:Public A ()之间使用this(capacity:10)

我不知道在Google上搜索什么 所以我决定在这里问。

我的问题是:这是用于什么以及为什么?

1 个答案:

答案 0 :(得分:0)

提供的代码无法编译。可能代码是这样的:

  // lower case for "public" and "class" 
  public class A {
    // _buffer is addressed in "capacity" property, let it be an array 
    private int[] _buffer = new int[10];

    // this constructor is mandatory for the code below
    public A(int capacity) {
    }

    // Now, your question:
    // "this(capacity: 10)" calls the costructor above 
    // "public A(int capacity)"
    // while passing the "capacity" parameter by its name
    public A () : this(capacity: 10)
    {
    }

    public int capacity {
    get {
      return _buffer.Length;
    }
  }

如果我猜对了 this(capacity: 10)是在通过 name

传递public A(int capacity)时调用构造函数capacity