Baseflow / Baseflow/XamarinMediaManager

Replace conditional compilation with partial classes

Open
#898 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
763
Forks
299
PR merge metrics
No merged PRs in 30d

Description

## 🏗 Enhancement Proposal

The library today uses partial compilation to execute code for a specific platform.
This is hard to debug as each platform might use different classes and methods to do the same thing as other platforms.

### Pitch

I propose to move to [partial classes](https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/invoke-platform-code?view=net-maui-7.0#partial-classes-and-methods) for a cleaner class structure, easier debugging and easier future contributions to the project in the future.

### Platforms affected (mark all that apply)
- [x] :iphone: iOS
- [x] :robot: Android
- [ ] :checkered_flag: WPF
- [x] :earth_americas: UWP
- [x] :apple: MacOS
- [x] :tv: tvOS
- [ ] :monkey: Xamarin.Forms

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Begin by mapping the current conditional-compilation implementations for iOS, Android, UWP, MacOS, and tvOS, then review the linked partial-classes guidance. Done means those affected platforms use the proposed partial-class structure without changing the platforms explicitly excluded.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop-dev, mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.