我对在.net中创建类库有疑问。我在一个类库代码中看到他们没有在其中使用命名空间。但是当我在其他类中使用该方法时,它仍然成功编译并运行。所以,请你告诉我它的优势和劣势是什么?
是否有任何特定的理由不提及类库中的命名空间?
选择是你的,两者都可以使用。
如果不使用命名空间,则必须在每个调用函数中重复键入命名空间名称,因此它效率不高,因为它使函数名称太长。
类型被组织到命名空间中以避免命名冲突并使类型名称更容易找到。
例:
A.没有命名空间
命名空间+方法(它的长度和命名空间总是重复使用)
System.Security.Cryptography.RSA rsa = System.Security.Cryptography.RSA.Create();
B.使用命名空间
命名空间(一次声明,在课堂上)
using System.Security.Cryptography;
方法(很简单)
RSA rsa = RSA.Create();
命名空间就像库中的书架,你可以将书籍存放在书架上,所以当你想要一本特定的书时,你知道在哪里看,即想象你需要两个类,如Home.cs和about.cs
现在,如果他们没有命名空间,你必须做类似的事情
using yourFolderPath.home
using yourFolderPath.about
现在,如果你有一个名称空间
using namespace
一旦你跳到n层arch,你的数据组件即模型就有了不同的层,那么加上命名空间变得更加重要
我相信OP正在询问在类库文件本身中使用“namespace”关键字。如果类库文件只包含单个类,则不需要namespace关键字。您可以在文件顶部放置using语句,然后在类定义本身中放置,而不是在命名空间中。如果库文件包含多个类定义,则最好将这些定义括在命名空间中。
示例 - 具有单个类定义的库文件:
using System;
// Additional using statements here
public class MySingleClass
{
// Class definition here
}
示例 - 库文件中的多个类:
using System;
// Additional using statements here
namespace Vehicles
{
public class Car
{
// Class definition here
}
public class Boat
{
// Class definition here
}
public class Airplane
{
// Class definition here
}
}