-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Closed
Labels
Issue-BugIssue has been identified as a bug in the productIssue has been identified as a bug in the productResolution-No ActivityIssue has had no activity for 6 months or moreIssue has had no activity for 6 months or moreWG-Enginecore PowerShell engine, interpreter, and runtimecore PowerShell engine, interpreter, and runtime
Description
Invoke method via .NET Adapter fails when ignoring argument for an optional parameter of value type
Steps to reproduce
$c =@'
public class Zoo {
public string GetName(string str, Here here = default) { return str; }
}
public struct Here
{
public string Name;
public int index;
}
'@
Add-Type $c
$z = [Zoo]::new()
$z.psobject.Methods["GetName"].Invoke("Hello")Expected behavior
Success just like running $z.GetName("Hello"):
PS> $z.GetName("Hello")
Hello
Actual behavior
PS> $z.psobject.Methods["GetName"].Invoke("Hello")
Exception calling "GetName" with "2" argument(s): "Object reference not set to an instance of an object."
At line:1 char:1
+ $z.psobject.Methods["GetName"].Invoke("Hello")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
Environment data
> $PSVersionTable
Name Value
---- -----
PSVersion 6.1.0-preview.4
PSEdition Core
GitCommitId 6.1.0-preview.4-73-g0ee369a311fb2ddf44a86e924fa821bf0ee9ed4f
OS Microsoft Windows 10.0.17134
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0fMichaleczek
Metadata
Metadata
Assignees
Labels
Issue-BugIssue has been identified as a bug in the productIssue has been identified as a bug in the productResolution-No ActivityIssue has had no activity for 6 months or moreIssue has had no activity for 6 months or moreWG-Enginecore PowerShell engine, interpreter, and runtimecore PowerShell engine, interpreter, and runtime