DoenaSoft.ToolBox
3.0.4
dotnet add package DoenaSoft.ToolBox --version 3.0.4
NuGet\Install-Package DoenaSoft.ToolBox -Version 3.0.4
<PackageReference Include="DoenaSoft.ToolBox" Version="3.0.4" />
<PackageVersion Include="DoenaSoft.ToolBox" Version="3.0.4" />
<PackageReference Include="DoenaSoft.ToolBox" />
paket add DoenaSoft.ToolBox --version 3.0.4
#r "nuget: DoenaSoft.ToolBox, 3.0.4"
#:package DoenaSoft.ToolBox@3.0.4
#addin nuget:?package=DoenaSoft.ToolBox&version=3.0.4
#tool nuget:?package=DoenaSoft.ToolBox&version=3.0.4
DoenaSoft.ToolBox
A collection of useful utility classes and extension methods for .NET, focusing on XML serialization, LINQ extensions, and string manipulation.
Features
Generic XML Serialization
- XmlSerializer<T>: Type-safe generic XML serializer with simplified API
- XsltSerializer: XML serialization with XSLT transformation support
- Support for custom serialization providers through
IXsltSerializerDataProvider
LINQ Extensions
Powerful extension methods for IEnumerable<T>:
- ForEach: Execute an action on each item in a collection
- Split: Split collections based on predicates
- TryCast: Safe type casting with filtering
- CountAtLeast/CountAtMost: Efficient count checking without full enumeration
Brace Splitters
Advanced string parsing utilities:
- BraceSplitter: Parse and split strings based on matching braces
- Support for parentheses
(), brackets[], curly braces{}, and chevrons<> - Nested brace handling
- Extract text segments and brace segments separately
String & Object Extensions
- String manipulation utilities
- Object extension methods
Installation
Install via NuGet Package Manager:
Install-Package DoenaSoft.ToolBox
Or via .NET CLI:
dotnet add package DoenaSoft.ToolBox
Quick Start
XML Serialization
using DoenaSoft.ToolBox.Generics;
// Serialize
var myObject = new MyClass { Name = "Example" };
XmlSerializer<MyClass>.Serialize("output.xml", myObject);
// Deserialize
var loaded = XmlSerializer<MyClass>.Deserialize("output.xml");
LINQ Extensions
using DoenaSoft.ToolBox.Extensions;
// ForEach
myList.ForEach(item => Console.WriteLine(item));
// Efficient count checking
if (myCollection.CountAtLeast(10))
{
// More efficient than Count() >= 10 for large collections
}
// Safe casting
var strings = mixedList.TryCast<string>();
Brace Splitting
using DoenaSoft.ToolBox.BraceSplitters;
var splitter = new BraceSplitter(
searchForParenthesis: true,
searchForBrackets: true,
searchForCurlyBraces: true,
searchForChevrons: true
);
var segments = splitter.Split("Hello (world) and [test]");
// Returns segments with text and brace information
Target Frameworks
- .NET Standard 2.0
- .NET Framework 4.7.2
- .NET 10.0
License
This project is licensed under the MIT License.
Author
DJ Doena - Doena Soft.
Links
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
-
net10.0
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on DoenaSoft.ToolBox:
| Package | Downloads |
|---|---|
|
DoenaSoft.MediaInfoHelper
Extract metadata and technical information from audio and video files |
|
|
DoenaSoft.FolderList.Xml
XML schemas for handling ListFolders |
|
|
DoenaSoft.DVDProfiler.Helper
A utility library for DVD Profiler plugin development. Provides registry access, online version checking, standard UI dialogs (About Box, Help, Progress), profile photo utilities, and common helper functions for integrating with the DVD Profiler application by Invelos. |
GitHub repositories
This package is not used by any popular GitHub repositories.