Неоднозначность между переменными класса


Я строю систему, в которой у меня есть несколько классов, идентичных этому:

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
}

(журналы классов и разрешения классов имеют схожую структуру кода).

В приведенном выше коде IDE VS2010 показывает следующие ошибки для всех объявлений внутри конструктора:

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. Он переименовал все ссылки на "Prioridades" в "Status", включая исходный класс... И все пошло наперекосяк.

Решение: будьте осторожны при использовании рефакторинга.

Извините за это, ребята...

1 2

1 ответ:

Интересно, что он возражает против " статуса.d " in Prioridades.CS. Она смотрит на меня, как будто Prioridades.cs содержит класс с именем "Status", а не"Prioridades". При копировании и вставке содержимого класса (или целых файлов) обязательно измените имя класса. Это очень легко забыть сделать.