2

我正在构建一个系统,其中我有一些与这个相同的类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Class to handle operations at Status table
/// </summary>
public class Status
{
    #region Vars and Class Objects
    protected Dados d;
    protected string sql;
    protected Logs log;
    protected Permissoes p;
    protected List<string> Mensagens;
    #endregion

    #region Constructor e Destructor
    public Status()
    {
        d = new Dados();
        log = new Logs();
        p = new Permissoes();
        Mensagens = new List<string>();
    }

    ~Status()
    {
        d = null;
        p = null;
        log = null;
        sql = null;
    }
    #endregion
}

(Class Logs 和 Class Permissoes 具有相似的代码结构)。

在上面的代码中,VS2010 IDE 显示以下错误,对于构造函数中的所有声明:

错误文件行列             
“Status.d”和“Status.d”Status.cs 22 9 之间的歧义
“Status.log”和“Status.log”Status.cs 之间的歧义 23 9
“Status.p”和“Status.p”Status.cs 之间的歧义 24 9
“Status.Mensagens”和“Status.Mensagens”Status.cs 之间的歧义 25 9
“Status.d”和“Status.d”之间的歧义 Prioridades.cs 21 9
“Status.p”和“Status.p”之间的歧义 Prioridades.cs 22 9
“Status.log”和“Status.log”之间的歧义 Prioridades.cs 23 9
“Status.d”和“Status.d”之间的歧义 Prioridades.cs 28 3
“Status.p”和“Status.p”之间的歧义 Prioridades.cs 29 9
“Status.log”和“Status.log”之间的歧义 Prioridades.cs 30 9
“Status.sql”和“Status.sql”之间的歧义 Prioridades.cs 31 9
“Status.p”和“Status.p”之间的歧义 Prioridades.cs 45 18
“Status.sql”和“Status.sql”之间的歧义 Prioridades.cs 53 5
“Status.d”和“Status.d”之间的歧义 Prioridades.cs 54 5
“Status.log”和“Status.log”之间的歧义 Prioridades.cs 58 17
“Status.p”和“Status.p”之间的歧义 Prioridades.cs 78 18
“Status.sql”和“Status.sql”之间的歧义 Prioridades.cs 86 17
“Status.d”和“Status.d”之间的歧义 Prioridades.cs 87 17
“Status.log”和“Status.log”之间的歧义 Prioridades.cs 88 17
“Status.p”和“Status.p”之间的歧义 Prioridades.cs 106 18
“Status.sql”和“Status.sql”之间的歧义 Prioridades.cs 114 17
“Status.d”和“Status.d”之间的歧义 Prioridades.cs 115 17
“Status.log”和“Status.log”之间的歧义 Prioridades.cs 116 17
“Status.p”和“Status.p”之间的歧义 Prioridades.cs 136 18
“Status.sql”和“Status.sql”之间的歧义 Prioridades.cs 137 13
“Status.d”和“Status.d”之间的歧义 Prioridades.cs 138 17
“Status.p”和“Status.p”之间的歧义 Prioridades.cs 157 18
“Status.sql”和“Status.sql”之间的歧义 Prioridades.cs 158 13
“Status.d”和“Status.d”之间的歧义 Prioridades.cs 159 26
“Status.p”和“Status.p”之间的歧义 Prioridades.cs 177 18
“Status.sql”和“Status.sql”之间的歧义 Prioridades.cs 178 4
“Status.d”和“Status.d”之间的歧义 Prioridades.cs 179 17

奇怪的是:我用同样的方法构建了另一个系统,它就像一个魅力。我只是将这些文件复制粘贴到另一个网站,我正在修改类以创建另一个系统。

有任何想法吗?闻起来像虫子...

编辑:

才发现。发生了什么:我复制粘贴了 Prioridades 类,将其重命名并在 VS2010 上使用了 Refactoring。它将 ALL REFERENCES 重命名为“Prioridades”,重命名为“Status”,包括原来的类……一切都变得一团糟。

解决方案:使用 Refactoring 时要小心。

对不起,伙计们...

4

1 回答 1

1

有趣的是它反对 Prioridades.cs 中的“Status.d”。在我看来,Prioridades.cs 好像包含一个名为“Status”的类,而不是“Prioridades”。当您复制和粘贴类内容(或整个文件)时,请务必更改类名称。这是一件很容易忘记做的事情。

于 2012-11-13T17:54:16.257 回答