For a simple case, you could look at the example in "cm_storage.Create Schedule" command.
It has parameters that are of [array] type
[parameter(Mandatory=$false, HelpMessage="Hours of the day when the schedule runs. This is a comma separated list of integers between 0 and 23 inclusive. Value of -1 means all hours of the day.")]
[ValidateRange(-1, 23)]
[array]$CronHours,
[parameter(Mandatory=$false, HelpMessage="Minutes within each hour when the schedule runs. This is a comma separated list of integers between 0 and 59 inclusive. Value of -1 means all minutes.")]
[ValidateRange(-1, 59)]
[array]$CronMinutes,
The Cmdlet used in the command code is of Array type
SYNTAX
Add-NcJobCronSchedule [-Name] <String> [-Month <Int64[]>] [-Day <Int64[]>] [
-DayOfWeek <Int64[]>] [-Hour <Int64[]>] [-Minute <Int64[]>] [-Controller <Nc
Controller[]>] [-ZapiRetryCount <Int32>] [<CommonParameters>
The dictionary entry properties for these parameters are of String type

So, basically an Array type in command parameter can map to String type in dictionary entry.
Would this work for your command and dictionary entry design ?
Thanks,
Shailaja