歧义

2012-11-13 89 views
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 
} 

(类日志和类Permissoes具有类似的代码结构)。

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

 
Error               File   Line Col    
Ambiguity between 'Status.d' and 'Status.d'      Status.cs  22  9 
Ambiguity between 'Status.log' and 'Status.log'     Status.cs  23  9 
Ambiguity between 'Status.p' and 'Status.p'      Status.cs  24  9 
Ambiguity between 'Status.Mensagens' and 'Status.Mensagens'  Status.cs  25  9 
Ambiguity between 'Status.d' and 'Status.d'      Prioridades.cs 21  9 
Ambiguity between 'Status.p' and 'Status.p'      Prioridades.cs 22  9 
Ambiguity between 'Status.log' and 'Status.log'     Prioridades.cs 23  9 
Ambiguity between 'Status.d' and 'Status.d'      Prioridades.cs 28  3 
Ambiguity between 'Status.p' and 'Status.p'      Prioridades.cs 29  9 
Ambiguity between 'Status.log' and 'Status.log'     Prioridades.cs 30  9 
Ambiguity between 'Status.sql' and 'Status.sql'     Prioridades.cs 31  9 
Ambiguity between 'Status.p' and 'Status.p'      Prioridades.cs 45  18 
Ambiguity between 'Status.sql' and 'Status.sql'     Prioridades.cs 53  5 
Ambiguity between 'Status.d' and 'Status.d'      Prioridades.cs 54  5 
Ambiguity between 'Status.log' and 'Status.log'     Prioridades.cs 58  17 
Ambiguity between 'Status.p' and 'Status.p'      Prioridades.cs 78  18 
Ambiguity between 'Status.sql' and 'Status.sql'     Prioridades.cs 86  17 
Ambiguity between 'Status.d' and 'Status.d'      Prioridades.cs 87  17 
Ambiguity between 'Status.log' and 'Status.log'     Prioridades.cs 88  17 
Ambiguity between 'Status.p' and 'Status.p'      Prioridades.cs 106  18 
Ambiguity between 'Status.sql' and 'Status.sql'     Prioridades.cs 114  17 
Ambiguity between 'Status.d' and 'Status.d'      Prioridades.cs 115  17 
Ambiguity between 'Status.log' and 'Status.log'     Prioridades.cs 116  17 
Ambiguity between 'Status.p' and 'Status.p'      Prioridades.cs 136  18 
Ambiguity between 'Status.sql' and 'Status.sql'     Prioridades.cs 137  13 
Ambiguity between 'Status.d' and 'Status.d'      Prioridades.cs 138  17 
Ambiguity between 'Status.p' and 'Status.p'      Prioridades.cs 157  18 
Ambiguity between 'Status.sql' and 'Status.sql'     Prioridades.cs 158  13 
Ambiguity between 'Status.d' and 'Status.d'      Prioridades.cs 159  26 
Ambiguity between 'Status.p' and 'Status.p'      Prioridades.cs 177  18 
Ambiguity between 'Status.sql' and 'Status.sql'     Prioridades.cs 178  4 
Ambiguity between 'Status.d' and 'Status.d'      Prioridades.cs 179  17 

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

任何想法?它闻起来像虫...

编辑:

刚刚发现了。发生了什么:我复制了Prioridades类,将其重命名并在VS2010上使用了Refactoring。它将ALL REFERENCES重新命名为“Prioridades”,并将其重新命名为“Status”,其中包括原来的课程......并且都变得杂乱无章。

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

对不起,这个,家伙...

+0

为什么你有终结者?这不是C++,你知道吗? – Oded

+0

你有重复的课吗?他们都在同一个命名空间吗?你有没有清理版本? – Oded

+0

为什么没有命名空间? – Paparazzi

回答

1

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

+0

我确实改变了...并使用了重构。这是问题所在。 – Youkko