C# 命名空间入门级用法

作者:袖梨 2022-06-25

在一个命名空间中,可以声明一个或多个下列类型:

另一个命名空间

接口

结构

枚举

委托

无论您是否在 c# 源文件中显式声明了命名空间,编译器都会添加一个默认的命名空间。该未命名的命名空间(有时称为全局命名空间)存在于每一个文件中。全局命名空间中的任何标识符都可用于命名的命名空间中。

命名空间隐式具有公共访问权,并且这是不可修改的。有关可以分配给命名空间中的元素的访问修饰符的讨论


语法

namespace samplenamespace
{
    class sampleclass{}
    interface sampleinterface{}
    struct samplestruct{}
    enum sampleenum{a,b}
    delegate void sampledelegate(int i);
    namespace samplenamespace.nested
    {
       class sampleclass2{}
    }
}


声明一个命名空间

 

namespace counter {
  class myclass {
  }
}

看一个命名空间实例

using system;
 
namespace counter {
  class myclass {
  }
}
 
class mainclass {
  public static void main() {
    counter.myclass my = new counter.myclass();
  }
}

演示二

class example {
 
  public static void main() {
 
    // console.writeline is fully qualified.
    system.console.writeline("a simple c# program.");
  }
}

重新命名

using thatconsoleclass = system.console;

class mainclass
{
    public static void main()
    {
        thatconsoleclass.writeline("hello");
    }
}

同一页面多个类调用不同在namespaces

using system;    

namespace foo {

  public class money {
    public money() {
    }
    public void print( ) {
      console.writeline("foo.money.print");
    }
  }
}

namespace bar {

  public class money {
    public money( ) {
    }
    public void print( ) {
      console.writeline("bar.money.print");
    }
  }
}


public class mainclass {
  public static void main( ) {
    foo.money fm = new foo.money();
    bar.money bm = new bar.money();
    fm.print( );
    bm.print( );
  }
}

相关文章

精彩推荐