zoukankan      html  css  js  c++  java
  • c# 命名空间 namespace -0014

    namespace

    namespace(命名空间/名称空间)提供了一种组织相关类和其他类型的方式。

    和文件或组件不同,namespace是一种逻辑组合,而不是物理组合。在C#文件中定义类时,可以把它包含在namespace中,在其他地方访问的时候便可通过namespace.yourClass访问此namespace下的类。

    using System;
    namespace CustomerPhoneBookApp
    {
    	public struct Subscriber
    	{
    		// Code for struct here..
    	}
    }
    

    namespace和程序集assembly无关;同一个assembly可以有不同的namespace,也可以在不同的assembly有相同的namespace。

    using

    在访问类时,类的全名是namespace + class,名称比较长;可以通过using关键字引入namspace,然后在正文中就可以直接使用class。

    如果using语句引用的两个namespace包含同名的类型,就必须使用完整的名称。

    假如我们有个类叫NamespaceExample,在命名空间Wrox.ProCSharp.Basics和Wrox.ProCSharp.OOP下都有这个类,

    在开头对这两个命名空间的都有引用,此时需要使用全名来告诉编译器我们究竟要用的是哪个命名空间下的NamespaceExample类:

    using Wrox.ProCSharp.OOP;
    using Wrox.ProCSharp.Basics;
    namespace Wrox.ProCSharp
    {
    	class Test
    	{
    		static void Main()
    		{
    			Basics.NamespaceExample nSEx = new Basics.NamespaceExample();
    			// do something with the nSEx variable.
    		}
    	}
    }
    

    namespace的别名alias

    using关键字的另外一个用法就是为类和命名空间指定别名。如果namespace很长,有需要在代码中多次引用,可以为这个很长的namesapce指定一个短别名:

    using alias = NamespaceName;
    

    可以通过alias::className来进行定义和调用:

    using System;
    using Introduction = Wrox.ProCSharp.Basics;
    class Program
    {
    	static void Main()
    	{
    		Introduction::NamespaceExample NSEx = new Introduction::NamespaceExample();
    		Console.WriteLine(NSEx.GetNamespace());
    	}
    }
    
    internal class Introduction
    {
    }
    
    namespace Wrox.ProCSharp.Basics
    {
    	class NamespaceExample
    	{
    		public string GetNamespace()
    		{
    			return this.GetType().Namespace;
    		}
    	}
        
           internal class Introduction
    	{
    	}
    }
    

      

  • 相关阅读:
    python日志设置[logging]
    python异常处理
    python可迭代对象、迭代器、生成器
    python字典操作
    python列表和元组的操作
    python字符串操作
    python深拷贝和浅拷贝
    python时间和日期的处理
    ssh
    SSH安全外壳协议
  • 原文地址:https://www.cnblogs.com/codesee/p/13033938.html
Copyright © 2011-2022 走看看