Hat Probleme, wenn zwei der Assemblys, auf die verwiesen wird, den Typ A.A1 definieren.

Wenn zwei Assemblys beide @ definiernamespace A enthältclass A1, dann werden die beiden Klassen als eindeutige Typen betrachtet.

a) Werden die beiden Namespaces auch als eindeutig angesehen?

b) Wennprogram P hat einen Verweis auf beide Assemblys. Wie erstellen wir Instanzen der beiden Typen? Ich erhalte nämlich immer wieder eine Fehlermeldung, wenn ich versuche, eine Instanz von @ zu erstelleA.A1

using A;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            A1 a = new A1(); // error
        }
  }
}

c) Aber wennprogram P definiert auchtype B.A1, dann beschwert sich der Compiler nicht, wenn ich eine Instanz von @ deklarieA1:

using A;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            A1 a = new A1(); // ok
        }
    }

    class A1 { }
}

Sollte sich der Compiler nicht beschweren, da er nicht wissen kann, welche Version vonA1 benutzen (A.A1 von einer der referenzierten Assemblys oderB.A1)?

Danke

Antworten auf die Frage(4)

Ihre Antwort auf die Frage