flo*_*ode 3 c# assemblies namespaces
如果两个程序集都定义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
}
}
}
Run Code Online (Sandbox Code Playgroud)
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 { }
}
Run Code Online (Sandbox Code Playgroud)
不应该编译抱怨,因为它无法知道使用哪个版本A1
(A.A1
来自其中一个引用的程序集或B.A1
)?
感谢名单
归档时间: |
|
查看次数: |
706 次 |
最近记录: |