转载自http://www.cnblogs.com/zwamm/archive/2010/12/15/1906396.html
VB.NET修饰符1.Shadows
Shadows 关键字指示被声明的编程元素隐藏基类中一个同名元素或一组重载元素。可以用其他任何类型的元素来隐藏任何类型的被声明元素。被隐藏的元素在隐藏它的派生类中不可用。
Shadows 关键字用于下面的上下文中:Class 语句 Const 语句 Declare 语句 Delegate 语句 Dim 语句 Enum 语句 Event 语句 Function 语句 Interface 语句 Property 语句 Structure 语句 Sub 语句
VB.NET修饰符2.Shared
Shared 关键字指示一个或多个被声明的编程元素将被共享。共享元素不关联于某类或结构的特定实例。可以通过使用类名或结构名称或者类或结构的特定实例的变量名称限定共享元素来访问它们。
Shared 关键字用于下面的上下文中:Dim 语句 Event 语句 Function 语句 Property 语句 Sub 语句
VB.NET修饰符3.MustInherit
MustInherit 关键字指定类不能被实例化,并且只能用作基类。
MustInherit 关键字用于下面的上下文中:Class 语句
VB.NET修饰符4.NotInheritable
NotInheritable 关键字指定类不能用作基类。
NotInheritable 关键字用于下面的上下文中:Class 语句
VB.NET修饰符5.NotOverridable
修饰符定义无法在派生类中重写的基类的方法。所有方法都为 NotOverridable,除非用 Overridable 修饰符进行标记。当不希望允许在派生类中再次重写 overridden 方法时,可使用 NotOverridable 修饰符。
关键字用于下面的上下文中:Function语句Property语句Sub语句
VB.NET修饰符6.MustOverride
修饰符定义的方法在基类中没有实现,必须在派生类中实现。包含 MustOverride 方法的类必须使用 MustInherit 修饰符进行标记。MustOverride 关键字指定基类中的属性或过程在使用之前必须在派生类中重写。
MustOverride 关键字用于下面的上下文中:Function 语句Property 语句Sub 语句
VB.NET修饰符7.Overloads
重载时关键字 Overloads 是可选的,但如果任一重载成员使用了该 Overloads 关键字,则其他所有同名重载成员也必须指定该关键字。派生类可以用具有相同参数和参数类型的成员重载继承成员,该过程称作“按名称和签名隐藏”。
如果按名称和签名隐藏时使用了 Overloads 关键字,将使用该成员的派生类实现而非基类中的实现,并且该成员的所有其他重载对于该派生类的实例都将可用。如果用一个具有相同参数和参数类型的成员重载继承成员时,省略了 Overloads 关键字,则该重载称为“按名称隐藏”。按名称隐藏替代一个成员的继承实现,使所有其他重载对于该派生类及由其派生的类的实例都不可用。Overloads 和 Shadows 修饰符不能同时被同一个属性或方法所使用。
Overloads 关键字用与现有成员相同的名称来声明属性或方法,但参数列表与原始成员不同。Overloads 也可用于隐藏基类中的现有成员或一组重载成员。以这种方式使用 Overloads 时,应用与基类成员相同的名称和参数列表来声明属性或方法,并且不提供 Shadows 关键字。
Overloads 关键字用于下面的上下文中:Function 语句Property 语句Sub 语句
VB.NET修饰符8.Overridable
Overridable 关键字指定属性或方法可以在派生类中重写。
Overridable 关键字用于下面的上下文中:Function语句 Property语句 Sub语句
VB.NET修饰符9.Overrides
Overrides 关键字指定属性或方法将重写从基类继承的成员。
Overrides 关键字用于下面的上下文中:Function 语句 Property 语句 Sub 语句