[Out] parameters no longer added to return tuple by lostmsu · Pull Request #1308 · pythonnet/pythonnet

Parameters marked with ParameterAttributes.Out (aka [Out]) are no longer returned in addition to the regular method return value (unless they are passed with ref or out keyword).

What does this implement/fix? Explain your changes.

As it is now possible to pass raw .NET objects to .NET methods, there's no need to marshal [Out] parameters back to Python manually. Python users can simply access modified object's data directly.

Any other comments?

It was confusing to see read, _ = stream.Read(buff, 0, buff.Length) in the test code, as Read method does not really have any out or ref parameters. It also failed on some .NET implementations, as the corresponding parameter does not always have an [Out] attribute.

Related issues

This should unblock #1307 (tests there are failing because of this difference).

Checklist

Check all those that are applicable and complete.

  • Make sure to include one or more tests for your change
  • If an enhancement PR, please create docs and at best an example
  • Add yourself to AUTHORS
  • Updated the CHANGELOG