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.
Ten kod tworzy pierwszą kopię typu o identycznej w pełni kwalifikowanej nazwie.
// CS0434_1.cs
// compile with: /t:library
namespace TypeBindConflicts
{
namespace NsImpAggPubImp
{
public class X { }
}
}
Ten kod tworzy drugą kopię typu o identycznej w pełni kwalifikowanej nazwie.
// CS0434_2.cs
// compile with: /t:library
namespace TypeBindConflicts {
// Conflicts with another import (import2.cs).
public class NsImpAggPubImp { }
// Try this instead:
// public class UniqueClassName { }
}
Ten kod odwołuje się do typu o identycznej w pełni kwalifikowanej nazwie.
// CS0434.cs
// compile with: /r:cs0434_1.dll /r:cs0434_2.dll
using TypeBindConflicts;
public class Test
{
public TypeBindConflicts.NsImpAggPubImp.X n2 = null; // CS0434
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: