Get any object properties by name

As a generator

getproperties(object, properties) = 
    (getproperty(object, property) for property in properties)
collect(getproperties(object, (:a,:c,:b)))

or comprehension

getproperties(object, properties) = 
    [getproperty(object, property) for property in properties]
getproperties(object, (:a,:c,:b))

? Quick benchmark:

@btime getproperties($Ref(object)[], (:a,:c,:b)) 

getproperties(object, properties) = 
    (getproperty(object, property) for property in properties)
@btime collect(getproperties($Ref(object)[], (:a,:c,:b))) 

getproperties(object, properties) = 
    [getproperty(object, property) for property in properties]
@btime getproperties($Ref(object)[], (:a,:c,:b))

yields

  293.243 ns (7 allocations: 288 bytes)
  319.383 ns (8 allocations: 400 bytes)
  242.857 ns (7 allocations: 288 bytes)
2 Likes