This repository was archived by the owner on Jun 30, 2023. It is now read-only.
Add codefix for setup of ref/out methods #50
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is one of the most annoying scenarios when mocking APIs that have ref/out arguments. Figuring out the callback parameters, setting up the right output values in an untyped collection of some sort, it's terrible.
So rather than that, offer a built-in way to generate a delegate that can be used to directly set up and implement the method, with full typed arguments including ref/out annotations, just like you would if you implemented the interface manually (which you likely do when things get complicated because of this issue!).
When you get to the setup and specify the method you want to work with, you get a nice codefix suggestion that generates the delegate and the Returns call with the right parameters:
Setting up tests for this will be more complicated than for built-in analyzers, pending further investigation.