Дженерики в PowerShell 2, не работающем?

Как я мог составить Список в PowerShell 2? Я попробовал их:

[activator]::createinstance(([type]'system.collections.generic.list`1').makegenerictype([string]))

и

[activator]::createinstance(([type]'system.collections.generic.list`1').makegenerictype([string]))

и все, что я получаю, является просто ничем. Что идет не так, как надо?

Я управляю XP SP3, если он имеет значение

13
задан Parsa 21 January 2010 в 13:16
поделиться

2 ответа

Попробуйте:

PS> $list = New-Object 'System.Collections.Generic.List[string]'
PS> $list.Add('foo')
PS> $list
foo

PS> $d = New-Object 'System.Collections.Generic.Dictionary[string,datetime]'
PS> $d.Add('moonshot', [datetime]'7/20/1969')
PS> $d['moonshot']

Sunday, July 20, 1969 12:00:00 AM
19
ответ дан 1 December 2019 в 22:23
поделиться

Если вы пытаетесь создать список на основе строк, попробуйте следующее:

New-Object 'System.Collections.Generic.List[system.string]'

Обратите внимание, что вы должны указать «System.String» (по крайней мере, на моем комп;)). Если вы просто используете «строку», он выбрасывает исключение.

[61]: New-Object 'System.Collections.Generic.List[string]'
New-Object : Cannot find type [System.Collections.Generic.List[string]]: make sure the assembly containing this type is loaded.
At line:1 char:11
+ New-Object <<<<  'System.Collections.Generic.List`1[string]'
    + CategoryInfo          : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
3
ответ дан 1 December 2019 в 22:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: