例子:
public class Name {
public string FirstName { get; private set; }
public string LastName { get; private set; }
private Name() { }
public Name(string firstName, string lastName) {
FirstName = firstName;
LastName = lastName;
}
}
尝试实例化此 C# 类时,智能感知会显示 new 关键字的私有(private)和公共(public)构造函数,即使其中一个构造函数是私有(private)的!
更奇怪的是,当我从公共(public)构造函数中删除第二个参数时(删除 lastName 作为公共(public)构造函数的参数),intellisense 现在只正确显示带有 new 关键字的公共(public)构造函数。
这是一个错误还是我在这里遗漏了什么?我正在使用 VS2008 SP1。
编辑:代码清晰度
最佳答案
哇,真奇怪。我只是自己在我的 VS2008 副本上尝试过(我也在运行 SP1)并且得到了完全相同的结果。当有多个参数时,私有(private)构造函数会出现在 Intellisense 中,但只有一个时不会出现。我的猜测是,这是一个错误。
关于c# - 私有(private)构造函数的奇怪智能感知行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/351911/