我们可以创建类库(dll)而不在.net框架中的代码中提供命名空间吗?

问题描述 投票:0回答:3

我对在.net中创建类库有疑问。我在一个类库代码中看到他们没有在其中使用命名空间。但是当我在其他类中使用该方法时,它仍然成功编译并运行。所以,请你告诉我它的优势和劣势是什么?

是否有任何特定的理由不提及类库中的命名空间?

c# dll class-library
3个回答
1
投票

选择是你的,两者都可以使用。

如果不使用命名空间,则必须在每个调用函数中重复键入命名空间名称,因此它效率不高,因为它使函数名称太长。

类型被组织到命名空间中以避免命名冲突并使类型名称更容易找到。

例:

A.没有命名空间

命名空间+方法(它的长度和命名空间总是重复使用)

System.Security.Cryptography.RSA rsa = System.Security.Cryptography.RSA.Create();

B.使用命名空间

命名空间(一次声明,在课堂上)

using System.Security.Cryptography;

方法(很简单)

RSA rsa = RSA.Create();

1
投票

命名空间就像库中的书架,你可以将书籍存放在书架上,所以当你想要一本特定的书时,你知道在哪里看,即想象你需要两个类,如Home.cs和about.cs

现在,如果他们没有命名空间,你必须做类似的事情

using yourFolderPath.home
using yourFolderPath.about

现在,如果你有一个名称空间

using namespace

一旦你跳到n层arch,你的数据组件即模型就有了不同的层,那么加上命名空间变得更加重要


0
投票

我相信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
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.