第49面的一句话:注意不允许在另一个嵌套的命名空间中声明多部分的命名空间。
这句话怎么理解?

解决方案 »

  1.   

    namespace A
    {
      namespace B.C
      {
      }
    }error CS0134: 在嵌套的命名空间声明中无法使用限定的命名空间名称
    就是说在里层的命名空间中不能使用"点(.)"但下面的做法是可以的:namespace A.B
    {
      namespace C
      {
      }
    }
      

  2.   

    using System;
    namespace Wrox.ProCSharp.Basics
    {
    namespace d.c.b
    {
    class RuleExample
    {
    public static int Main()
    {
    int @abstract=234;
    Console.WriteLine(@abstract);
    return 0;
    }
    }
    }
    }
    我这样子都可以啊,我是用.net2005,是不是2.0版本有更新啊?
      

  3.   

    以下摘自 .net Framework SDK 1.1 的帮助文档:编译器错误 CS0134在嵌套的命名空间声明中无法使用限定的命名空间名称在命名空间声明中不允许有限定的 namespace。下面的示例生成 CS0134:// CS0134.cs
    namespace MyNameSpace
    {
       namespace MyNameSpace.DottedNamespace   // CS0134, qualified namespace
       // try the following line instead
       // namespace NotRoot
       {
          public class MyClass
          {
             public static void Main()
             {
             }
          }      namespace DottedNamespace
          {
             public class MyClass2
             {
                public static void f1()
                {
                   MyNameSpace.NotRoot.MyClass.Main();   // legal use of qualified namespace
                }
             }
          }
       }
    }
    我查了一下  .net Framework SDK 2.0 的帮助文档, 已经没有CS0134了,说明2.0版已经取消了这个限制了,呵呵。