Allow the PSGetMemberBinder to handle ByRef property#16956
Allow the PSGetMemberBinder to handle ByRef property#16956daxian-dbw merged 1 commit intoPowerShell:masterfrom
PSGetMemberBinder to handle ByRef property#16956Conversation
There was a problem hiding this comment.
Yeah this LGTM, I think it's the right solution 🎉
I do wish we could hook this up to the set binder. But unless PropertyInfo.SetValue supports it for ref values now (last time I looked it didn't Edit: and still doesn't) that probably isn't possible atm.
Very happy we can at least get the value though, well done!
Side note, I did also briefly try a intermediary static T Deref<T>(ref T value) => value method but that's a bust unfortunately
|
I can see there is a possibility that we run into a similar issue with a method that has a |
|
This PR has Quantification details
Why proper sizing of changes matters
Optimal pull request sizes drive a better predictable PR flow as they strike a
What can I do to optimize my changes
How to interpret the change counts in git diff output
Was this comment helpful? 👍 :ok_hand: :thumbsdown: (Email) |
|
🎉 Handy links: |

PR Summary
Fix #14632
Allow the
PSGetMemberBinderto handleByRefproperty.There is no way to work with ByRef type directly in expression tree, so we turn to reflection in this case.
PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright headerWIP:or[ WIP ]to the beginning of the title (theWIPbot will keep its status check atPendingwhile the prefix is present) and remove the prefix when the PR is ready.