James Consulting Core Library
The James Consulting Core Library is a collection of essential utilities, constants, and helpers designed to accelerate .NET application development. It provides reusable components for common tasks, helping teams build robust, maintainable, and scalable solutions faster.
Features
- Common constants and configuration helpers
- Utility methods for strings, enums, streams, and objects
- Extensions for reflection and diagnostics
- Designed for performance and reliability
- Well-documented API
Installation
Install via NuGet:
Install-Package JamesConsulting.Core
Or with .NET CLI:
dotnet add package JamesConsulting.Core
Usage Examples
Round-trip a string to bytes and back:
using JamesConsulting;
var bytes = "Test".GetBytes();
var roundTrip = bytes.GetString(); // "Test"
Convert a name to title case:
using JamesConsulting;
var title = "rudy james".ToTitleCase(); // "Rudy James"
Truncate a string:
using JamesConsulting;
var truncated = "testing".Truncate(4); // "test"
Get an enum member description:
using System.ComponentModel;
using JamesConsulting;
private enum MyOptions
{
[Description("Testing")] With,
Without
}
var desc1 = MyOptions.With.GetDescription(); // "Testing"
var desc2 = MyOptions.Without.GetDescription(); // "Without"
Check if a stream contains an executable header:
using System.IO;
using System.Text;
using JamesConsulting.IO;
using var ms = new MemoryStream();
using var writer = new BinaryWriter(ms, Encoding.UTF8, leaveOpen:true);
writer.Write('M');
writer.Write('Z');
writer.Flush();
var isExe = ms.IsExecutable(); // true
Convert a string to a SecureString and back:
using JamesConsulting.Security;
var secure = "secret".ToSecureString();
var plain = secure.ConvertToString(); // "secret"
Serialize an object to a JSON stream and deserialize:
using System.IO;
using JamesConsulting;
using JamesConsulting.IO;
var obj = new { Name = "Rudy", Value = 3 };
using var ms = new MemoryStream();
obj.SerializeToJsonStream(ms);
var clone = ms.Deserialize<dynamic>();
For full API documentation, browse the navigation menu or explore the generated API reference.