Błąd kompilatora CS0438
Typ "type" w ciągu "module_1" powoduje konflikt z przestrzeni nazw "przestrzeń nazw" w ciągu "module_2".
Ten błąd występuje, gdy typ w pliku źródłowym powoduje konflikt z przestrzenią nazw w innym pliku źródłowym. Zwykle dzieje się tak, gdy jeden lub oba pochodzą z dodanego modułu. Aby rozwiązać ten problem, zmień nazwę typu lub przestrzeni nazw, która spowodowała konflikt.
Poniższy przykład generuje CS0438:
Najpierw skompiluj ten plik:
// CS0438_1.cs
// compile with: /target:module
public class Util
{
public class A { }
}
Następnie skompiluj ten plik:
// CS0438_2.cs
// compile with: /target:module
namespace Util
{
public class A { }
}
Następnie skompiluj ten plik:
// CS0438_3.cs
// compile with: /addmodule:CS0438_1.netmodule /addmodule:CS0438_2.netmodule
using System;
public class Test
{
public static void Main() {
Console.WriteLine(typeof(Util.A)); // CS0438
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: