rsdn / CodeJam

Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another
MIT License
258 stars 35 forks source link

[Umbrella] Rewamping the library #152

Open ig-sinicyn opened 1 year ago

ig-sinicyn commented 1 year ago

I'm going to spend some time in order to revive the project and release a new major version.

The primary goals are the following (issues/PRs to be linked).

As a preview, there's experimental repo with proofcode for points 2-4. Things to note:

FYI @andrewvk @NN--- . If needed, we can make a call and improve the roadmap.

NN--- commented 1 year ago

It seems like Theraot is not so maintained. So there is some missing functionality thee, the coverage for new .NET features is not as good as it could be. Tried to contact the maintainer but didn't have any luck.

ig-sinicyn commented 1 year ago

Yeah, I've managed to remove dependency on Theraot from most target frameworks except for net35 and net40.

image
NN--- commented 1 year ago

Ah. Great. There is a modern solution for new features using source generators for .NET Standard 2.0 and above.

ig-sinicyn commented 1 year ago

There is a modern solution for new features using source generators for .NET Standard 2.0 and above.

Well, never heard of that^) Do you mean some package/project or it's more like an idea to be done? If the latter, it's simpler to use source-only packages such as Nullable. Sadly, there's not so many usable ones.

As for source generators, I'd prefer to not use them unless absolutely mandatory. Source generators are hard to maintain and they are much more verbose than good old undead T4.

NN--- commented 1 year ago

https://www.meziantou.net/polyfills-in-dotnet-to-ease-multi-targeting.htm

Here the list. Yeah T4 is nice but Source Generators are better integrated today.