c# - 私有(private)构造函数的奇怪智能感知行为

标签 c# .net visual-studio visual-studio-2008 intellisense

例子:

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/

相关文章:

c# - 立即中止异步任务c#

c# - .NET 中的 "STRONG NAME"是什么?

c# - 从循环中创建唯一字符串列表的最快方法?

.net - 如何创建 .Net 编程语言?

c# - List<string> 对象 IndexOf 返回 -1。如何?

c# - 代码在 Visual Studio 中运行,但在同一系统中的 IIS 上托管时出现编译器错误

c# - iSynaptic.Commons 和 Maybe Monad

apache - 如何为 Apache 打开以前被 Visual Studio 的服务器占用的端口 80?

c# - 命名空间等中不存在类型或命名空间名称

c# - 将 XML 反序列化为 C# XmlRoot 中的对象不起作用