在两个不同的命名空间中使用类

时间:2015-04-23 14:35:46

标签: c#

如何在其他命名空间中使用命名空间中的类?

namespace All
{
  class X
  {
    public static void Read() {}
  }
  class Y
  {
    public static void Write() {}
  }
}


namespace A
{
  namespace First{
     //use class X in namespace All here;
  }
}

namespace B
{
  namespace Second{
     //use class Y in namespace All here;
  }
}

我不想复制粘贴代码,C#中是否有关键字来引用该类的漏洞?在这里使用它

B.Second.Y.Write();

3 个答案:

答案 0 :(得分:2)

你不能直接在命名空间中使用其他类型作为变量

<强>因此

您可以在这些名称空间(XY)中的类型中使用这些类型(FirstSecond)。 e.g

namespace All
{
    class X
    {
        public static void Read() { }
    }
    class Y
    {
        public static void Write() { }
    }
}


namespace A
{
    namespace First
    {
        //use class X in namespace All here;

    }
}

namespace B
{
    namespace Second
    {
        //use class Y in namespace All here;
        class MyClass
        {
            private All.X;   //HERE is the code
        }
    }
}

答案 1 :(得分:1)

尝试使用关键字

using A;
using B;
using All;

答案 2 :(得分:0)

如果您定义命名空间A&amp; B如下:

namespace All
{
    public class X
    {
        public static void Read() { }
    }
    public class Y
    {
        public static void Write() { }
    }
}


namespace A
{
    namespace First
    {
        public static class X
        {
            public static void Read()
            {
                All.X.Read();
            }
        }
    }
}

namespace B
{
    namespace Second
    {
        public static class Y
        {
            public static void Write()
            {
                All.Y.Write();
            }
        }
    }
}

然后您可以像这样使用它......

namespace CodeResearch.StackOverFlowTests
{
    using System;

    /// <summary>
    /// Defines DebugStackOverFlow type
    /// </summary>
    public class DebugStackOverFlow
    {
        /// <summary>
        /// Tests debugging StackOverFlow questions
        /// </summary>
        public static void Test()
        {
            A.First.X.Read();
            B.Second.Y.Write();
            Console.ReadLine();
        }

    }
}

注意: 我在同一个cs文件中定义了所有这些。