devxlogo

Polymorphic array procedures

Polymorphic array procedures

You can create “polymorphic” routines that work with any type of array (except arrays of fixed-length strings, or UDTs) by using Variant parameters. Take for example the following code:

Function Sum(arr As Variant) As Variant    Dim i As Long    For i = LBound(arr) To UBound(arr)        Sum = Sum + arr(i)    NextEnd Function

Interestingly, not only does the above routine work with any type of numeric arrays, it also works with array of strings (in which case it appends all the items in the array). It also works with arrays of Objects, provided that they expose a default property and that no type mismatch occurs when “summing” properties from different items.

The only disadvantage of this technique is that it is noticeably slower than code that works with a well-defined type of an array.

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist