In VB it is possible to pass additional parameters to property setter/getter (copied from MSDN):
The syntax for declaring a property and its procedures is as follows:
[Default] [modifiers] Property propertyname[(parameterlist)] As datatype
' Statements of the Get procedure.
' The following statement returns expression as the property's value.
[accesslevel] Set[(ByVal newvalue As datatype)]
' Statements of the Set procedure.
' The following statement assigns newvalue as the property's value.
lvalue = newvalue