0

当我进行编码时,我遇到了这样的函数 =>

public RelayCommand(Action<object> execute): this(execute, null)

我真的不知道这里的“this”关键字用法

4

3 回答 3

5

这是构造函数链接。 this(execute, null)调用该类中定义的另一个构造函数,该构造函数采用一个Action<object>和其他一些值。例如:

class Whatever
{
    public Whatever() : this("string arg") {}  // calls Whatever(string)

    public Whatever(string something) {}
}
于 2013-05-09T03:29:33.253 回答
1

关键字的这种特殊用法this使您可以从另一个构造函数调用一个构造函数,大概是为了提供默认参数。您可以通过应用默认参数值将两个构造函数“折叠”为一个:

public RelayCommand(Action<object> execute, string name = null) {
    ...
}
于 2013-05-09T03:29:42.003 回答
0

这是指当前构造函数的重载版本。基本上,这两个构造函数链接在一起,这有助于避免构造函数中的重复代码

于 2013-05-09T03:30:15.703 回答