不允许在另一个嵌套的命名空间中声明多部分的命名空间
这是《C#高级编程》(第四版)P51的一句话,命名空间一节中,开始都能看懂,讲的是命名空间的嵌套,突然冒出一句“注意不允许在另一个嵌套的命名空间中声明多部分的命名空间”。...
这是《C#高级编程》(第四版)P51的一句话,命名空间一节中,开始都能看懂,讲的是命名空间的嵌套,突然冒出一句“注意不允许在另一个嵌套的命名空间中声明多部分的命名空间”。首先就对“多部分”不解,英文原版是“Note that we are not permitted to declare a multi-part namespace nested within another namespace.”然后自己就设计了一个小的例子程序,但是一点问题都没有,运行正常,如下所示:
namespace Wrox.ProSharp.Basics {
using System;
using System.Data;
using AnotherSpace;
class NamespaceTest {
public static int Main() {
NamespaceTest NST = new NamespaceTest();
Console.WriteLine(NST.GetNamespace());
Test T = new Test();
Console.WriteLine(T.GetNamespace());
return 0;
}
public string GetNamespace() {
return this.GetType().Namespace;
}
}
}
namespace AnotherSpace {
public class Test {
public string GetNamespace() {
return this.GetType().Namespace;
}
}
}
所以始终不懂那句话是什么意思
namespace Wrox.ProSharp.Basics {
.....
}
相当于
namespace Wrox
{
namespace ProCSharp
{
namespace Basics
{
....
}
}
}
也就是说当然“也可以在命名空间中嵌套其他命名空间,为类型创建层次结构” 展开
namespace Wrox.ProSharp.Basics {
using System;
using System.Data;
using AnotherSpace;
class NamespaceTest {
public static int Main() {
NamespaceTest NST = new NamespaceTest();
Console.WriteLine(NST.GetNamespace());
Test T = new Test();
Console.WriteLine(T.GetNamespace());
return 0;
}
public string GetNamespace() {
return this.GetType().Namespace;
}
}
}
namespace AnotherSpace {
public class Test {
public string GetNamespace() {
return this.GetType().Namespace;
}
}
}
所以始终不懂那句话是什么意思
namespace Wrox.ProSharp.Basics {
.....
}
相当于
namespace Wrox
{
namespace ProCSharp
{
namespace Basics
{
....
}
}
}
也就是说当然“也可以在命名空间中嵌套其他命名空间,为类型创建层次结构” 展开
3个回答
展开全部
就是说空间命名是不能直接嵌套的,你上面命名的空间是并列的,所以没有错误.
如:
不能这样使用
namespace aaa
{
namespace bbb
{
}
}
如:
不能这样使用
namespace aaa
{
namespace bbb
{
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实这句话应该标明对应的.NET版本,在.NET 1.1版本里
你可以这样写:
namespace Cheese
{
namespace
MoreCheese
{
}
}
但你不能这样写:
namespace Cheese
{
namespace
Stinky.Cheese
{
}
}
注意这只是.NET 1.1版本不允许,在2.0及以后均可以
来源:http://p2p.wrox.com/c-2005/56590-about-namespace.html
你可以这样写:
namespace Cheese
{
namespace
MoreCheese
{
}
}
但你不能这样写:
namespace Cheese
{
namespace
Stinky.Cheese
{
}
}
注意这只是.NET 1.1版本不允许,在2.0及以后均可以
来源:http://p2p.wrox.com/c-2005/56590-about-namespace.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是不能并列定义命名空间的意思
如:
namespace FristNamespace
{
namespace SecondNamespace namespace ThirdNamespace
{
………………
}
}
这就会出错
如:
namespace FristNamespace
{
namespace SecondNamespace namespace ThirdNamespace
{
………………
}
}
这就会出错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询