Compilerfehler CS0434
Der Namespace 'NamespaceName1' in 'NamespaceName2' steht in Konflikt mit dem Typ 'Typname1' in 'Namespacename3'
Dieser Fehler tritt auf, wenn ein importierter Typ und ein importierter geschachtelter Namespace den gleichen vollqualifizierten Namen aufweisen. Wenn auf diesen Namen verwiesen wird, kann der Compiler nicht zwischen den beiden unterscheiden. Wenn Sie den importierten Quellcode ändern können, können Sie den Fehler beheben, indem Sie den Namen entweder des Typs oder des Namespaces ändern, so dass beide innerhalb der Assembly eindeutig sind.
Durch den folgenden Code wird der Fehler CS0434 ausgelöst.
Beispiel 1
Dieser Code erstellt die erste Kopie des Typs mit dem identischen vollqualifizierten Namen.
// CS0434_1.cs
// compile with: /t:library
namespace TypeBindConflicts
{
namespace NsImpAggPubImp
{
public class X { }
}
}
Beispiel 2
Dieser Code erstellt die zweite Kopie des Typs mit dem identischen vollqualifizierten Namen.
// CS0434_2.cs
// compile with: /t:library
namespace TypeBindConflicts {
// Conflicts with another import (import2.cs).
public class NsImpAggPubImp { }
// Try this instead:
// public class UniqueClassName { }
}
Beispiel 3
Dieser Code verweist auf den Typ mit dem identischen vollqualifizierten Namen.
// CS0434.cs
// compile with: /r:cs0434_1.dll /r:cs0434_2.dll
using TypeBindConflicts;
public class Test
{
public TypeBindConflicts.NsImpAggPubImp.X n2 = null; // CS0434
}
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für