-

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

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

VB.Net中可用的修饰符列表

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

S.N修饰符描述
1Ansi指定Visual Basic应该将所有字符串编组到美国国家标准协会(ANSI)值,而不考虑正在声明的外部过程的名称。
2Assembly指定源文件开头的属性适用于整个程序集。
3Async表示它修改的方法或lambda表达式是异步的。 这样的方法被称为异步方法。 异步方法的调用者可以恢复其工作,而不必等待异步方法完成。
4Auto在外部过程的调用期间,十进制中的chchetetmodifierpart提供用于编组字符串的字符集信息。 它还会影响Visual Basic如何在外部文件中搜索外部过程名称。 Auto修饰符指定Visual Basic应根据.NET Framework规则编组字符串。
5ByRef指定参数通过引用传递,即被调用过程可以更改调用代码中参数下面的变量的值。 它在下列语境下使用:
  • 声明语句
  • 函数语句
  • Sub语句
6BYVAL指定传递参数时,调用过程或属性不能更改调用代码中参数下面的变量的值。 它在下列语境下使用:
  • 声明语句
  • 函数语句
  • 运算符的声明
  • 属性声明
  • Sub语句
7Default标识属性作为 结构接口默认属性
8Friend

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

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

9In它用于通用接口和代理。
10Iterator指定函数或Get访问器是迭代器。 Aniterator对集合执行自定义迭代。
11KeyKey关键字使您能够为匿名类型的属性指定行为。
12Module指定源文件开头的属性适用于当前装配模块。 它与Module语句不同。
13MustInherit指定一个类只能用来作为基类,并且你不能直接创建一个对象。
14MustOverride指定属性或过程未在此类中实现,必须在导出类中重写,然后才能使用。
15Narrowing表示转换运算符(CType)将类或结构转换为可能不能保存原始类或结构的某些可能值的类型。
16NotInheritable指定类不能用作基类。
17NotOverridable指定不能在派生类中重写属性或过程。
18Optional指定当程序被调用的过程参数可以被省略。
19Out对于通用类型参数,Out关键字指定类型是协变的。
20Overloads指定属性或过程重新声明具有相同名称的一个或多个现有属性或过程。
21Overridable指定属性或过程可以由派生类中具有相同名称的属性或过程覆盖。
22Overrides指定属性或过程覆盖从基类继承的命名相同的属性或过程。
23ParamArray

ParamArray允许您将任意数量的参数传递给过程。

ParamArray参数始终使用ByVal声明。

24Partial表示类或结构声明是类或结构的部分定义。
25Private指定一个或多个声明的编程元素只能在其声明上下文中访问,包括来自任何包含的类型。
26Protected指定一个或多个声明的编程元素只能从其自己的类或派生类中访问。
27Public指定一个或多个声明的编程元素没有访问限制。
28ReadOnly指定可以读取但不写入变量或属性。
29Shadows指定声明的编程元素在基类中重新声明和隐藏相同命名的元素或一组重载的元素。
30Shared指定一个或多个声明的编程元素与类或结构(而不是类或结构的特定实例)关联。
31Static指定一个或多个已声明的局部变量将继续存在,并在声明它们的过程终止后保留其最新值。
32Unicode指定Visual Basic应将所有字符串编组为Unicode值,而不考虑正在声明的外部过程的名称。
33Widening表示转换运算符(CType)将类或结构转换为可以保存原始类或结构的所有可能值的类型。
34WithEvents指定一个或多个声明的成员变量引用可以引发事件的类的实例。
35WriteOnly指定可以写入但不读取属性。