Skip to content

ktwrd/csharp-kate.shared

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kate.shared

license kate.shared - version kate.shared.CommandLine - version kate.shared.EtoForms - version

kate's C# Shared Library!

A series of utility/helper classes to make my life easier with rapidly developing projects at home, and at work.

Important

Since I mostly use all of these libraries for personal use, I might not accept PRs for new enhancements unless I see some purpose in it.

  • kate.shared: Platform-agnostic helper classes
    • Embedded Resource exception
    • Pre-made Regular Expressions for detecting Base64
    • Randomly selecting items in a collection with weights (e.g: 30% chance for A to be selected, 15% chance for B to be selected, etc...)
    • Easily retry running a function if it times out in any way. (kate.shared/Helpers/ExceptionHelper.cs)
    • Detect if an exception could be classified as a timeout.
    • Array element shifting (in ArrayExtensions)
    • Parse hexadecimal in strings as an array of bytes
    • Easily read embedded resources and check if they exist
  • kate.shared.EtoForms: Helper classes for Eto.Forms, which includes;
    • Bitmap/Icon caching
    • Svg to Bitmap/Icon conversion from Embedded Resource at runtime
    • Helper methods for updating font size, style, and family without creating a new instance (e.g: myFont.WithFontSize(9f))
    • Svg to Png conversion
    • Svg to Ico conversion (with 32bpp ico support!)
    • Image scaling (via System.Drawing.Image)
  • kate.shared.CommandLine:

Note

Currently there aren't any good samples for a lot of the things in these projects, but samples on how to use (for example) kate.shared.CommandLine will come in the future ^w^

The same goes for Unit Tests. They will be made sometime in the future, but not too far away

kate, 2026/07/21

Supported .NET Versions

  • ✔️ - Supported and working.
  • ⚠️ - Not Tested
  • ❌ - Not Supported
Supported .NET Version kate.shared kate.shared.CommandLine kate.shared.EtoForms
.NET 10.x ✔️ ✔️ ✔️
.NET 9.x ✔️ (via .NET 8) ✔️ (via .NET 8) ✔️ (via .NET 8)
.NET 8.x (recommended) ✔️ ✔️ ✔️
.NET 6.x ⚠️ (via netstandard2.0)
Framework 2.x to 4.x ⚠️
Core 1.x to 3.x ⚠️

Notes

  • .NET Framework 4.x to 2.x, and .NET Core 3.x to 1.x, and .NET 6 are inferred since kate.shared targets netstandard2.0.
  • .NET 9 support is inferred, since all projects target .NET 8

License

The code for kate.shared and all projects in this repository are licensed under the Apache 2.0 License. Please see the license file FOR MORE INFORMATION.

tl;dr You can do what you want with the software, as long you include the required notices (which would be the license & copyright). The developers aren't liable for anything bad that happens.

Mirrors

In the event something happens to my Github account, I've mirrored this repository (and the NuGet packages) to other places on the internet.

Git Repository

NuGet Packages

Name Mirrors
kate.shared NuGet.org, Github, git.redfur.cloud
kate.shared.CommandLine NuGet.org, Github, git.redfur.cloud
kate.shared.EtoForms NuGet.org, Github, git.redfur.cloud

About

Shared resources between my personal projects and work-related projects.

Topics

Resources

Stars

Watchers

Forks

Packages

Used by

Contributors

Languages