C# .NET 中的“模块”关键字是什么?

gna*_*esh 6 .net c# fody .net-attributes

我正在学习 C# 并遇到了关键字module. 我想知道moduleC# 中的this关键字是什么以及它有什么用处。例如,考虑以下代码:

[module: Test]
public class TestAttribute : Attribute
{
}
Run Code Online (Sandbox Code Playgroud)

Ars*_*yan 6

在您的示例中module是一种指定属性用法的方法,如下所示:

[module: CLSCompliant(true)]
int Method1() { return 0; }
Run Code Online (Sandbox Code Playgroud)

它也称为属性目标

属性的目标是该属性应用于的实体。例如,一个属性可以应用于一个类、一个特定的方法或整个程序集。默认情况下,属性适用于它后面的元素。

有关 C# 属性参数的完整列表,请查看官方文档

  • 具体来说,以这种方式使用时,`module` 关键字会将属性应用于 .NET 运行时调用的 ["module"](/sf/ask/45200991/网)。在绝大多数、绝大多数、绝大多数情况下,每个程序集只有一个模块,因此大多数开发人员甚至不了解模块。 (2认同)