1
    public ClassType(string type) {
        Type = type;
    }
    public ClassType(string type,bool isArray=false) {
        Type = type;
        IsArray = isArray;
    }


    ClassType ct = new ClassType("adsf");

选择哪个构造函数?

4

2 回答 2

7

不需要可选参数的重载。请注意,这里只是一个“是”或“否”的决定:“不自动填写可选参数”比“自动填写一些可选参数”更可取,但在填写 1 或 2 之间没有偏好。(那将是模糊的。)

从 C# 4 规范的第 7.5.3.2 节:

否则,如果 M P的所有参数都有相应的参数,而默认参数需要替换 M Q 中的至少一个可选参数,M P优于 M Q

于 2010-07-13T12:41:45.470 回答
1

正如乔恩所说,用两个词,第一个。比赛更“干净”。

于 2010-07-13T12:45:29.657 回答