Stats

118 Contributors: 6
2017-06-26
Licensed under: CC-BY-SA

Not affiliated with Stack Overflow
Rip Tutorial: info@zzzprojects.com

Download eBook

Extension methods

Download vb.net eBook

Remarks

Extension methods are methods (Sub or Function) that add functionality to a Type (which may be a Reference Type or a Value Type). These Types may or may not be owned by you.

They may or may not be in the same assembly as the Type they are intended to modify. You can allow an opt-in to your extension methods by isolating them in their own namespace. Or if you prefer you can make them always available by including them in the same namespace as the Type they modify (assuming all the assembly references are in place and correct). See the Entity Framework Core 1.0 project on GitHub for a good example of the opt-in style of extension methods.

Extension methods in VB have a few requirements:

  • Extension methods may only be declared in modules.
  • Extension methods must be decorated with the Extension() attribute.
  • The ExtensionAttribute namespace must be available within your module.
    Imports System.Runtime.CompilerServices
  • The first parameter to the method must be of a type that this method will be attached to.
  • The first parameter of the method will represent the instance that this method operates on. (Equivalent to Me if this were a real instance method).
  • An extension method can be called as a regular method by supplying all parameters if not called on the instantiated object.

Related Examples