Visual Basic 修饰符

修饰符是通过任何编程元素添加的关键字,以便特别强调编程元素将如何在程序中执行或将被访问。

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


VB 中可用的修饰符

下表提供了 VB 修饰符的完整列表:

编号修饰符描述
1Ansi指定 Visual Basic 应将所有字符串封送到美国国家标准学会(ANSI)值,而不管正在声明的外部过程的名称如何。
2Assembly指定源文件开始处的属性适用于整个程序集。
3Async表示它修改的方法或 lambda 表达式是异步的。 这样的方法被称为异步方法。 异步方法的调用者可以在不等待异步方法完成的情况下恢复工作。
4AutoDeclare 语句中的 charsetmodifier 部分在调用外部过程期间为字符串提供字符集信息。它还影响 Visual Basic 如何搜索外部文件的外部过程名称。Auto 修饰符指定 Visual Basic 应根据 .NET 框架规则对字符串进行编组。
5ByRef指定参数是通过引用传递的,即被调用的过程可以改变调用代码中参数的潜在变量的值。它在以下情况下使用:
(1) Declare 语句
(2) Function 语句
(3) Sub 语句
6ByVal指定参数以被调用过程或属性不能更改调用代码中参数基础变量的值的方式传递。它在以下情况下使用:
(1) Declare 语句
(2) Function 语句
(3) Operator 语句
(4) Property 语句
(5) Sub 语句
7Default将属性标识为其类,结构或接口的默认属性。
8Friend指定一个或多个声明的编程元素可以从包含声明的程序集中访问,而不仅仅是声明它们的组件。Friend 访问通常是应用程序编程元素的首选级别,Friend 是接口,模块,类或结构的默认访问级别。
9In它用于通用接口和委托。
10Iterator指定函数或 Get 访问器是一个迭代器。迭代器对集合执行自定义迭代。
11KeyKey 关键字使我们能够为匿名类型的属性指定行为。
12Module指定源文件开始处的属性适用于当前装配模块。它与 Module 语句不同。
13MustInherit指定一个类只能用作基类,并且不能直接从它创建对象。
14MustOverride指定在此类中未实现某个属性或过程,并且必须在派生类中重写它,然后才能使用它。
15Narrowing指示转换运算符(CType)将类或结构转换为可能无法保存原始类或结构的某些可能值的类型。
16NotInheritable指定一个类不能用作基类。
17NotOverridable指定在派生类中不能覆盖属性或过程。
18Optional指定在调用过程时可以省略过程参数。
19Out对于泛型类型参数,Out 关键字指定类型是协变的。
20Overloads指定属性或过程使用相同的名称重新声明一个或多个现有属性或过程。
21Overridable指定属性或过程可以由派生类中的名称相同的属性或过程重写。
22Overrides指定属性或过程覆盖从基类继承的名称相同的属性或过程。
23ParamArrayParamArray 允许将任意数量的参数传递给过程。一个 ParamArray 参数总是使用 ByVal 声明的。
24Partial指示类或结构声明是类或结构的部分定义。
25Private指定一个或多个声明的编程元素只能在其声明上下文中访问,包括从任何包含的类型中访问。
26Protected指定一个或多个声明的编程元素只能从其自己的类或派生类中访问。
27Public指定一个或多个声明的编程元素没有访问限制。
28ReadOnly指定可以读取但不写入变量或属性。
29Shadows指定声明的编程元素在基类中重新声明并隐藏相同名称的元素或一组重载元素。
30Shared指定一个或多个已声明的编程元素与整个类或结构关联,而不与类或结构的特定实例关联。
31Static指定一个或多个声明的局部变量将在声明它们的过程终止之后,继续存在并保留其最新值。
32Unicode指定 Visual Basic 应将所有字符串编组为 Unicode 值,而不管正在声明的外部过程的名称。
33Widening指示转换运算符(CType)将类或结构转换为可以保存原始类或结构的所有可能值的类型。
34WithEvents指定一个或多个声明的成员变量引用可引发事件的类的实例。
35WriteOnly指定可以写入属性但不能读取。