C#.NET Namespace-name existiert nicht in der namespace-Fehler - nur bei Verwendung außerhalb der lokalen namespace-Direktive - warum?

Verwenden .NET 2.0, C#, Windows Forms-Entwicklung, Enterprise Library 3.1.

Haben wir ein Projekt-namespace (nennen wir es Projekt). Wir haben auch mehrere sub-namespaces innerhalb des Projekts, zum Beispiel Projekt.Namespace1, Projekt.Namespace2, etc.

In einer Klasse, wir definieren, enums und solche für die Verwendung mit der Enterprise Library Logging-block, wie:

namespace Project.Logging
{
  public static class Logging
  {
    public enum LogPriority
    {
      //enum values here
    }
  }
}

In eine andere Klasse, ich benutze die enum-Werte, so muss ich erklären, eine using-Anweisung. Demselben Projekt, so gibt es keine assembly zu verweisen, richtig?

Wenn ich erkläre das mit der lokalen Namensraum, wie dies, funktioniert es einwandfrei:

namespace Project.SomeName
{
  using Project.Logging;

  //code referencing the Logging enum
}

Jedoch, wenn ich die using-Anweisung außerhalb der lokalen namespace-Deklaration, bekomme ich die "der Typ oder namespace-name 'LogPriority' existiert nicht im namespace " Projekt.Logging'... so Wie hier:

using Project.Logging;

namespace Project.SomeName
{
  //code referencing the Logging.LogPriority.whatever
}

Warum ist das so? Hat jemand laufen über diese vor?

Konnte Sie nach dem code, der auf den LogPriority enum für die beiden Fälle? Die enum definiert ist, die in einer Klasse & ich denke, dass könnte ein Problem sein, irgendwie.

InformationsquelleAutor DaveN59 | 2009-11-19

Schreibe einen Kommentar