Если две сборки определяют namespace A
, содержащую class A1
, то эти два класса считаются уникальными типами.
a) Два пространства имен также считаются уникальными?
b) Если program P
имеет ссылку на обе сборки, как мы можем создать экземпляры двух типов?А именно, я продолжаю получать сообщение об ошибке при попытке создать экземпляр A.A1
using A;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
A1 a = new A1(); // error
}
}
}
c) Но если program P
также определяет type B.A1
, то компилятор не будет жаловаться, когда я объявляюэкземпляр A1
:
using A;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
A1 a = new A1(); // ok
}
}
class A1 { }
}
Компилятор не должен жаловаться, так как не может знать, какую версию A1
использовать (A.A1
из одной из упомянутых сборок или B.A1
)?
спасибо