如何在其他命名空间中使用命名空间中的类?
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();
答案 0 :(得分:2)
你不能直接在命名空间中使用其他类型作为变量
<强>因此强>
您可以在这些名称空间(X
,Y
)中的类型中使用这些类型(First
,Second
)。 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文件中定义了所有这些。