Ich baue gerade ein System auf, in dem ich einige Klassen habe, die mit dieser identisch sind:
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
}
(Klassenprotokolle und Klassenerlaubnisse haben eine ähnliche Codestruktur).
Im obigen Code werden die folgenden Fehler von VS2010 IDE, für alle Deklarationen innerhalb Konstruktor angezeigt:
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
Das Seltsame ist: Ich habe ein anderes System nach genau der gleichen Methode gebaut, und es funktioniert hervorragend. Ich habe diese Dateien einfach auf eine andere Website kopiert und ändere die Klassen, um ein anderes System zu erstellen.
Irgendwelche Ideen? Es riecht nach Käfer...
EDITAR:
Ich habe es gerade erfahren. Was passiert ist: Ich kopierte die Klasse "Prioridades", benannte sie um und verwendete Refactoring in VS2010. Es benannte ALLE REFERENZEN auf "Prioridades" in "Status" um, einschließlich der ursprünglichen Klasse... Und alles wurde chaotisch.
Lösung: Seien Sie vorsichtig bei der Verwendung von Refactoring.
Tut mir leid, Leute...