I'm trying to use Enumerable.ToList()
in PowerShell. Apparently, to do that, I have to explicitly convert the object to IEnumerable<CustomType>
, but I am unable to do that. It seems I can't correctly write IEnumerable<CustomType>
in PowerShell. Both IEnumerable<string>
and CustomType
itself work correctly (the custom type I'm trying to use is called WpApiLib.Page
), so I don't know what can I be doing wrong.
PS C:\Users\Svick> [Collections.Generic.IEnumerable``1[System.String]]
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False IEnumerable`1
PS C:\Users\Svick> [WpApiLib.Page]
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Page System.Object
PS C:\Users\Svick> [Collections.Generic.IEnumerable``1[WpApiLib.Page]]
Unable to find type [Collections.Generic.IEnumerable`1[WpApiLib.Page]]: make su
re that the assembly containing this type is loaded.
At line:1 char:51
+ [Collections.Generic.IEnumerable``1[WpApiLib.Page]] <<<<
In PowerShell v2 you can use
Collections.Generic.IEnumerable[string]
to refer to IEnumberable<string>
. The syntax works for New-Object
(though not with an interface) and it seems to be valid for casts, too.
See the answer here: Powershell Generic Collections. It looks like this is an unfortunate consequence of how PowerShell interprets generics, and you'll need to fully qualify the WpApiLib.Page
type.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With