Underpinnings to make calling of Extension methods /Linq easier from PowerShell. Enables the following that previously had to be done via reflection. class M { [int] Twice([int] $value) { return 2 * $value } [int] DoubleSum([int[]] $values) { return [Linq.Enumerable]::Sum($values, [M]::Twice) } } Each PSMethod is created as with a unique type for the combinations of method signatures in the MethodInfos it represents. PSMethod<T> where T is a MethodGroup<>, potentially recursive in the last template argument. This way, we can determine by just looking at the type of a PSMethod if there exists a conversion from the PSMethod to a delegate. |
||
---|---|---|
.. | ||
common/markdown | ||
csharp | ||
docker/networktest | ||
powershell | ||
PSReadLine | ||
shebang | ||
tools | ||
README.md | ||
Test.Common.props |
Testing
The tests are organized by testing language. Thus Pester tests, which are written in the PowerShell language, are in ./powershell and xUnit tests, written in C#, are in ./csharp. The sanity tests for the Full .NET build of PowerShell are in ./fullclr, and the third-party shebang test is in ./shebang.