繁体   English   中英

Visual Studio中的命名空间在哪里

[英]Where are the namespaces in visual studio

我是Visual Studio和C#的新手。 我阅读了有关C#的教程,并且所经历的所有示例程序都是在名称空间中编写的。 但是,当我在Visual Studio上使用模板时,所有预定义的代码都不在名称空间内。 程序中的类不应该在名称空间中吗? 为什么默认情况下不显示它们? 我应该定义它们吗?

谢谢!

[edit]以下是其中一个没有名称空间的文件中的代码。

using System;   
using System.Web.Security;  

public partial class Login : System.Web.UI.Page  
{   
    protected void btnSubmit_Click( object sender, EventArgs e )  
    {  
        // Note: Add code to validate user name, password. This code is for illustrative purpose only.  
        // Do not use it in production environment.          
        FormsAuthentication.RedirectFromLoginPage( txtUserName.Text, false );  
    }  
}

在项目的属性中声明了一个默认的名称空间。 但是,明确声明它是一个好习惯。 如果您的项目没有文件夹,则所有类都在同一个命名空间中,因此它是多余的。

命名空间旨在提供一种使一组名称彼此分离的方法。 在一个名称空间中声明的类名与在另一个名称空间中声明的相同类名不冲突。 请参阅https://msdn.microsoft.com/en-us/library/z2kcy19k.aspx了解更多详细信息。

一般

命名空间基本上只是对类进行分组并为Project提供结构的一种方法。

每个名称空间的类名必须唯一。

您还可以“封装”您的命名空间。 例如,您可以创建一些命名空间SomeProjectSomeProject.CoreSomeProject.UI

如果您想using SomeProject. Intellisense现在会建议CoreUI

Usasge

因此,要使用SomeProject.Core的Class MyClass ,可以使用三种方法。

  1. 使用Direcitve

using SomeProject.Core;

MyClass调用它

  1. 用整个命名空间调用它

SomeProject.Core.MyClass

  1. 明确使用指令(很少使用,但可能对long名称空间有用)

using AnyName = SomeProject.Core;

AnyName.MyClass调用MyClass

所以我暂时就这样。.如果我忘记了什么,只需在评论中告诉我

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM