Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0434

Przestrzeń nazw NamespaceName1 w przestrzeni nazwName2 powoduje konflikt z typem TypeName1 w przestrzeni nazwName3

Ten błąd występuje, gdy zaimportowany typ i zaimportowana zagnieżdżona przestrzeń nazw mają taką samą w pełni kwalifikowaną nazwę. W przypadku przywołowania tej nazwy kompilator nie może odróżnić tych dwóch. Jeśli możesz zmienić zaimportowany kod źródłowy, możesz rozwiązać ten problem, zmieniając nazwę typu lub przestrzeni nazw, tak aby obie te elementy zostały unikatowe w zestawie.

Poniższy kod generuje błąd CS0434.

Przykład 1

Ten kod tworzy pierwszą kopię typu o identycznej w pełni kwalifikowanej nazwie.

C#
// CS0434_1.cs  
// compile with: /t:library  
namespace TypeBindConflicts
{  
    namespace NsImpAggPubImp
    {  
        public class X { }  
    }  
}  

Przykład 2

Ten kod tworzy drugą kopię typu o identycznej w pełni kwalifikowanej nazwie.

C#
// CS0434_2.cs  
// compile with: /t:library  
namespace TypeBindConflicts {  
    // Conflicts with another import (import2.cs).  
    public class NsImpAggPubImp { }  
    // Try this instead:  
    // public class UniqueClassName { }  
}  

Przykład 3

Ten kod odwołuje się do typu o identycznej w pełni kwalifikowanej nazwie.

C#
// CS0434.cs  
// compile with: /r:cs0434_1.dll /r:cs0434_2.dll  
using TypeBindConflicts;  
public class Test
{  
    public TypeBindConflicts.NsImpAggPubImp.X n2 = null; // CS0434  
}