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