VB.Net - 修饰符

修饰符是与任何编程元素一起添加的关键字,以特别强调编程元素的行为方式或在程序中的访问方式。

例如,访问修饰符:Public、Private、Protected、Friend、Protected Friend 等,表示变量、常量、枚举或类等编程元素的访问级别。

VB.Net 中可用修饰符列表

下表提供了 VB.Net 修饰符的完整列表 −

Sr.No 修饰符 描述
1 Ansi 指定 Visual Basic 应将所有字符串编组为美国国家标准协会 (ANSI) 值,无论声明的外部过程的名称如何。
2 Assembly 指定源文件开头的属性适用于整个程序集。
3 Async 指示它修改的方法或 lambda 表达式是异步的。 此类方法称为异步方法。 异步方法的调用者可以恢复其工作,而无需等待异步方法完成。
4 Auto Declare 语句中的 charsetmodifier 部分提供在调用外部过程期间用于封送字符串的字符集信息。 它还会影响 Visual Basic 在外部文件中搜索外部过程名称的方式。 Auto 修饰符指定 Visual Basic 应根据 .NET Framework 规则封送字符串。
5 ByRef 指定参数通过引用传递,即被调用的过程可以更改调用代码中参数下的变量的值。 它在以下上下文中使用 −
  • Declare 语句
  • Function 语句
  • Sub 语句
6 ByVal 指定参数的传递方式使得被调用的过程或属性无法更改调用代码中该参数下的变量的值。 它在以下上下文中使用 −
  • Declare 语句
  • Function 语句
  • Operator 语句
  • Property 语句
  • Sub 语句
7 Default 将属性标识为其类、结构或接口的默认属性。
8 Friend

指定一个或多个已声明的编程元素可从包含其声明的程序集中访问,而不仅仅是由声明它们的组件访问。

Friend 访问通常是应用程序编程元素的首选级别,Friend 是接口、模块、类或结构的默认访问级别。

9 In 它用于通用接口和委托。
10 Iterator 指定函数或 Get 访问器是迭代器。 迭代器对集合执行自定义迭代。
11 Key Key 关键字使您能够指定匿名类型的属性的行为。
12 Module 指定源文件开头的属性适用于当前的程序集模块。 它与 Module 语句不同。
13 MustInherit 指定类只能用作基类,并且不能直接从它创建对象。
14 MustOverride 指定属性或过程未在此类中实现,并且必须在派生类中重写才能使用。
15 Narrowing 表示转换运算符 (CType) 将类或结构转换为可能无法保存原始类或结构的某些可能值的类型。
16 NotInheritable 指定类不能用作基类。
17 NotOverridable 指定属性或过程不能在派生类中被重写。
18 Optional 指定调用过程时可以省略过程参数。
19 Out 对于泛型类型参数,Out 关键字指定类型是协变的。
20 Overloads 指定属性或过程重新声明一个或多个具有相同名称的现有属性或过程。
21 Overridable 指定属性或过程可以被派生类中同名的属性或过程覆盖。
22 Overrides 指定属性或过程重写从基类继承的同名属性或过程。
23 ParamArray ParamArray 允许您向过程传递任意数量的参数。 ParamArray 参数始终使用 ByVal 进行声明。
24 Partial 表示类或结构声明是类或结构的部分定义。
25 Private 指定一个或多个声明的编程元素只能从其声明上下文中访问,包括从任何包含的类型中访问。
26 Protected 指定一个或多个已声明的编程元素只能从其自己的类或派生类中访问。
27 Public 指定一个或多个声明的编程元素没有访问限制。
28 ReadOnly 指定变量或属性可以读取但不能写入。
29 Shadows 指定已声明的编程元素重新声明并隐藏基类中的同名元素或重载元素集。
30 Shared 指定一个或多个声明的编程元素与整个类或结构相关联,而不是与类或结构的特定实例相关联。
31 Static 指定一个或多个声明的局部变量在声明它们的过程终止后继续存在并保留其最新值。
32 Unicode 指定 Visual Basic 应将所有字符串封送为 Unicode 值,无论声明的外部过程的名称如何。
33 Widening 表示转换运算符(CType)将类或结构转换为可以容纳原始类或结构的所有可能值的类型。
34 WithEvents 指定一个或多个声明的成员变量引用可以引发事件的类的实例。
35 WriteOnly 指定属性可以写入但不能读取。