Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better C# Bindings #99

Conversation

EggAllocationService
Copy link
Collaborator

The existing C# bindings have a number of problems:

  • Not very idiomatic
  • Use of dynamic preventing usage on platforms without JIT support
  • All code in one file
  • No standard C# documentation comments
  • The name of the List class overlaps with List in the standard library, causing some headaches
  • Not using the .csproj build system would cause some difficulties creating a .nupkg for distribution

This pull request aims to solve these problems, by implementing the following changes:

  • Split Mapper.cs into multiple files
  • Use the .csproj build system
  • Replace usage of dynamic with object wherever possible
  • Replace Get/Set methods with native Properties where appropriate
  • Use the doxygen documentation as a basis for C# xml comments
  • Rename List to MapperList

This will allow the C# wrapper to use the mpr_map_new_from_str initializer on Apple Silicon.
Still needs conditional compilation checks.
@EggAllocationService EggAllocationService marked this pull request as draft May 23, 2024 13:31
@EggAllocationService EggAllocationService marked this pull request as ready for review May 23, 2024 17:16
@malloch
Copy link
Member

malloch commented May 31, 2024

Merged!

@malloch malloch closed this May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants