Extension methods are useful to extend the behaviour of libraries we don't own.
They are used similar to instance methods thanks to the compiler's syntactic sugar:
Sub Main() Dim stringBuilder = new StringBuilder() 'Extension called directly on the object. stringBuilder.AppendIf(true, "Condition was true") 'Extension called as a regular method. This defeats the purpose 'of an extension method but should be noted that it is possible. AppendIf(stringBuilder, true, "Condition was true") End Sub <Extension> Public Function AppendIf(stringBuilder As StringBuilder, condition As Boolean, text As String) As StringBuilder If(condition) Then stringBuilder.Append(text) Return stringBuilder End Function
To have a usable extension method, the method needs the
Extension attribute and needs to be declared in a