visual studio中的名称空间在哪里?
本文关键字:空间 在哪里 studio visual | 更新日期: 2023-09-27 17:50:52
我是Visual Studio和c#的新手。我读了c#的教程,所有的示例程序都是在命名空间中编写的。但是当我在Visual Studio中使用模板时,所有预定义的代码都不在名称空间中。程序中的类不应该在命名空间中吗?为什么它们不是默认呈现的?我应该定义它们吗?
谢谢!
[编辑]下面是其中一个没有名称空间的文件中的代码:
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
总则
名称空间基本上只是一种方式来分组你的类和给你的项目一个结构。
每个命名空间的类名必须唯一
你也可以"封装"你的名称空间。例如,您可以创建一些命名空间SomeProject
, SomeProject.Core
和SomeProject.UI
如果你写using SomeProject.
,智能感知现在会建议Core
和UI
。
Usasge
所以要从SomeProject.Core
中使用MyClass
类,你有三种可能使用它。
- 使用Direcitve
using SomeProject.Core;
用MyClass
- 用整个命名空间 调用
- 显式使用指令(很少使用,但可能对长命名空间有用)
SomeProject.Core.MyClass
using AnyName = SomeProject.Core;
call MyClass
with AnyName.MyClass
所以我想这就是它的时刻…如果我忘记了什么请在评论中告诉我