Updated Available C# and .NET features (markdown)

James Groom 2024-11-07 17:51:29 +10:00
parent b65bea06d4
commit b0cc64c3ff
1 changed files with 3 additions and 2 deletions

@ -3,7 +3,7 @@ This document is to supplement BizHawk development, and will be deleted once the
BizHawk-specific notes: BizHawk-specific notes:
- All projects in `/src` use C# 12 currently, as do all the .NET projects in `/External*Projects` but new features have only been adopted in the main solution. - All projects in `/src` use C# 12 currently, as do all the .NET projects in `/External*Projects` but new features have only been adopted in the main solution.
- In the added "convention" column, I've used required/disallowed/encouraged/discouraged/allowed like [RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119)'s MUST / MUST NOT / SHOULD / SHOULD NOT / MAY, respectively. Unsupported is also MUST NOT (because attempting to use the feature will result in an error). - In the added "convention" column, I've used required/disallowed/encouraged/discouraged/allowed like [RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119)'s MUST / MUST NOT / SHOULD / SHOULD NOT / MAY, respectively. Unsupported is also MUST NOT (because attempting to use the feature will result in an error).
- Each project's target (Framework vs. Standard) is at the top of its project file, or you can check the [project graph](https://gitlab.com/TASVideos/BizHawk/-/snippets/1886666). - Each project's target (Framework vs. Standard) is at the top of its project file, or you can check the [project graph](https://github.com/TASEmulators/BizHawk/wiki/Dependencies#main-solution).
Legend: Legend:
✔️ Available ✔️ Available
@ -11,6 +11,7 @@ Legend:
❌ Not available ❌ Not available
? Unknown ? Unknown
Some features are marked ✔️ despite ostensibly needing a polyfill because they are enhancements to existing features and work anywhere the base feature is available—for example, `switch`ing on a `Span<char>` requires no additional polyfill. Some features are marked ✔️ despite ostensibly needing a polyfill because they are enhancements to existing features and work anywhere the base feature is available—for example, `switch`ing on a `Span<char>` requires no additional polyfill.
The official BCL type reference now has a ["`netstandard2.0` w/ polyfills" filter](https://learn.microsoft.com/en-us/dotnet/api/?view=netstandard-2.0-pp), though it obviously won't have third-party polyfills.
🔵 Availability in .NET Framework 4.8 (`net48`) 🔵 Availability in .NET Framework 4.8 (`net48`)
🟢 Availability in .NET Standard 2.0 (`netstandard2.0`) 🟢 Availability in .NET Standard 2.0 (`netstandard2.0`)