PolySharp
dotnet
PolySharp | dotnet | |
---|---|---|
12 | 28 | |
1,640 | 2,737 | |
- | 1.8% | |
7.1 | 5.2 | |
5 months ago | 19 days ago | |
C# | C# | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PolySharp
-
What's new in C# 12: overview
Great improvements.
There is PolySharp project that enables you to use most of C#11 features in legacy .NET Framework: https://github.com/Sergio0694/PolySharp - Seems that C#12 features are planned to be implemented: https://github.com/Sergio0694/PolySharp/issues/78
I'm using PolySharp where I'm stuck with .NET Framework 4.6 and I don't have any issues.
Hope one day I'd see concise syntax for catch and/or try expressions: https://github.com/dotnet/csharplang/discussions/2734 - but there is a lot of resistance.
-
.NET web developer takes a job as a .NET desktop developer
You can go one step further and add https://github.com/Sergio0694/PolySharp to your project and you can use new C# 8+ features that don't require the new runtime (like file scoped namesapces, nullable annotations etc).
-
[Question] HttpClient does not recover from error
Is there a reason you're trying to reinvent PolySharp?
-
Do you prefer working with Java or C# legacy code?
You can still use C# 11 (with PolySharp), and you can still get a huge amount of new APIs via the various packages on NuGet that target .NET Standard 2.0. Plus you just get the usual .NET type system and BCL, which are still very good even if when using a framework from a few years ago.
-
Multi-targeted library, with a recent Language Version
Or the PolySharp NuGet package, which uses source generators to polyfill the language features you're actually using.
-
Source Generator Debug always NulLReferecneException
Here's some: - MVVM Toolkit - PolySharp - ComputeSharp
-
What's the biggest difference between C# and Java developers?
Well using PolySharp, of course! 😄
-
How to use C# 11 features in .NET 6 or older versions (even .NET Framework 2.0)
⚠️ Because PolySharp uses source generators, it doesn't work with the package.config file as stated in this issue. The issue says we need to use the SDK style .csproj, but just changing from package.config to Package Reference worked for me.
- PolySharp: polyfills for C#
-
Playing with C# 12 & .NET 8
Some features like records and range require additional boilerplate classes to be added to become usable. You can DIY that or use PolySharp. Some features like static abstract members, default interface methods, etc require runtime support and can't be used.
dotnet
-
Current state of MAUI?
Not https://github.com/CommunityToolkit/dotnet
-
Source Generator Debug always NulLReferecneException
Here's some: - MVVM Toolkit - PolySharp - ComputeSharp
-
How did you guys get your first C# job?
Started programming by writing some apps for Windows Phone later UWP during university. A few years ago I started collaborating a lot on GitHub to some Microsoft projects, like the Windows Community Toolkit. There I created a lot of new APIs and libraries, like all the new animation APIs and pipeline brush APIs, etc. I then also proposed adding some general .NET APIs to it, and that's how the MVVM Toolkit was born, along with other libraries which are now moved to the .NET Community Toolkit. Fast forward until about late 2020, and they pinged me saying the new Microsoft Store (which hadn't been announced yet back then) was using several of those new APIs I had written, so we started collaborating more so that I could add more functionality they needed. After that shipped, at some point there was a new opening to which I applied, and here I am in the Microsoft Store team and also leading the .NET Community Toolkit 🙂
-
AppCenter and ComunityToolkit MVVM Compile-error
This is tracked by https://github.com/CommunityToolkit/dotnet/issues/409. The issue is likely that AppCenter image using an older version of Visual Studio (and Roslyn). The MVVM Toolkit needs at least Roslyn 4.0 (ie. Visual Studio 2022) in order to work. Unfortunately this is not something we can change from the MVVM Toolkit, you have to open a support request for AppCenter to ask for a newer Roslyn version, or see if there is a way for you to enable that in your pipeline 🥲
-
WPF - MVVM Community Toolkit - RelacyCommand CanExecute not updating
The toolkit's:
-
The Next C# with Mads Torgersen
https://github.com/CommunityToolkit/dotnet/issues/224 - one ask and fix.
-
I want to learn WPF and was told I should use a MVVM based framework any up to date suggestions?
Yeah, the fact properties use fields with annotations right now isn't ideal, it's just the best we could do until C# gets partial properties. I do plan on adding support for that though as soon as C# gets that feature. You can follow the progress here 🙂
-
Guard Library - StaticDotNet.ArgumentValidation
For comparison, CommunityToolkit.Diagnostics has a guard library.
-
Thinking about zero-allocation parsing.
There is some stuff in CommunityToolkit to lower allocations of frequently converted Spans, StringPool comes to mind.
-
CommunityToolkit.MVVM questions
Most likely this: https://github.com/CommunityToolkit/dotnet/blob/main/src/CommunityToolkit.Mvvm/DependencyInjection/Ioc.cs
What are some alternatives?
AnyDiff - A CSharp (C#) diff library that allows you to diff two objects and get a list of the differences back.
ComputeSharp - A .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute and pixel shaders, with the goal of making GPU computing easy to use for all .NET developers! 🚀
NetworkPrimitives
csharp-source-generators - A list of C# Source Generators (not necessarily awesome) and associated resources: articles, talks, demos.
csharplang - The official repo for the design of the C# programming language
Roslyn - The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
MVVM-Samples - Sample repo for MVVM package
IsExternalInit - A source code only package which allows you to use C# 9's init and record features in older target frameworks like .NET Standard 2.0 or the "old" .NET Framework by providing a polyfill for the IsExternalInit class.
PostSharp.NotifyPropertyChanged - auto-magic INotifyPropertyChanged done right
SharpLab - .NET language playground
jab - C# Source Generator based dependency injection container implementation.