Status: Complete reference for Sphere10 Framework v3.0.0
Last Updated: December 31, 2025
The Tools namespace is a central organizational feature of Sphere10 Framework, providing a unified, IntelliSense-discoverable collection of static utility methods across all framework projects. This document catalogs all Tools classes and their primary operations.
Located in Sphere10.Framework and organized by domain:
Array manipulation, bounds checking, copying, resizing.
var subarray = Tools.Array.SubArray(data, startIndex, length);
var resized = Tools.Array.Resize(array, newSize);
bool contains = Tools.Array.Contains(array, value);Collection operations: filtering, mapping, iteration, flattening.
var filtered = Tools.Collection.Where(items, predicate);
var transformed = Tools.Collection.Select(items, mapper);
var flattened = Tools.Collection.Flatten(nestedList);
var grouped = Tools.Collection.GroupBy(items, keySelector);Stream decorators, readers, writers, bounded access.
var bounded = Tools.Stream.CreateBoundedStream(source, maxBytes);
byte[] data = Tools.Stream.ReadAllBytes(stream);
Tools.Stream.WriteAllBytes(stream, data);
var decorated = Tools.Stream.WrapWithCompression(stream);Hashing, signatures, key derivation, cryptographic operations.
byte[] hash = Tools.Crypto.SHA256(data);
byte[] hash256 = Tools.Crypto.BLAKE2B(data);
byte[] signature = Tools.Crypto.Sign(privateKey, message);
bool valid = Tools.Crypto.VerifySignature(publicKey, message, signature);
byte[] derived = Tools.Crypto.DeriveKey(password, salt, iterations);String manipulation, formatting, validation, generation.
string trimmed = Tools.Text.RemoveWhitespace(text);
string truncated = Tools.Text.Truncate(text, 100);
string pascal = Tools.Text.ToPascalCase(text);
string random = Tools.Text.GenerateRandomString(length);
string padded = Tools.Text.PadLeft(text, totalWidth, paddingChar);
bool isEmail = Tools.Text.IsValidEmail(email);String parsing, numeric conversion, safe type conversion.
int parsed = Tools.Parse.ToInt32(text, defaultValue);
decimal decimal = Tools.Parse.ToDecimal(text);
Guid guid = Tools.Parse.ToGuid(guidString);
var typed = Tools.Parse.TryParse<T>(text, out var result);Type inspection, member discovery, attribute analysis.
var properties = Tools.Reflection.GetProperties(type);
var methods = Tools.Reflection.GetMethods(type);
bool hasAttribute = Tools.Reflection.HasAttribute<MyAttribute>(type);
var attribute = Tools.Reflection.GetAttribute<MyAttribute>(type);
object instance = Tools.Reflection.CreateInstance(type, args);Enumeration utilities, descriptions, conversion.
string description = Tools.Enum.GetDescription(enumValue);
int value = Tools.Enum.ToInt32(enumValue);
MyEnum parsed = Tools.Enum.Parse<MyEnum>(text);
var values = Tools.Enum.GetValues<MyEnum>();Value type utilities, conversions, comparisons.
bool equals = Tools.Value.Equals(obj1, obj2);
int hashCode = Tools.Value.GetHashCode(obj);
object clone = Tools.Value.Clone(obj);Basic mathematical operations, RNG, calculations.
double sqrt = Tools.Math.Sqrt(value);
double pow = Tools.Math.Power(base, exponent);
int random = Tools.Math.Random.Next(min, max);
byte[] randomBytes = Tools.Math.Random.NextBytes(count);Advanced mathematics, specialized algorithms.
var gcd = Tools.MathPlus.GreatestCommonDivisor(a, b);
var lcm = Tools.MathPlus.LeastCommonMultiple(a, b);
bool isPrime = Tools.MathPlus.IsPrime(number);Buffer operations, memory allocation, size formatting.
string readable = Tools.Memory.GetBytesReadable(bytes); // "1.5 MB"
byte[] allocated = Tools.Memory.AllocateBuffer(size);
Tools.Memory.ClearBuffer(buffer);
byte[] copy = Tools.Memory.CopyBuffer(source);Date/time parsing, formatting, calculations.
DateTime parsed = Tools.DateTime.Parse(dateString);
string formatted = Tools.DateTime.FormatISO8601(dateTime);
TimeSpan elapsed = Tools.DateTime.GetElapsedTime(startTime);
bool isLeapYear = Tools.DateTime.IsLeapYear(year);File operations, directory management, temp files.
string tempFile = Tools.FileSystem.GenerateTempFilename();
string tempDir = Tools.FileSystem.GetTempDirectory();
Tools.FileSystem.WriteAllText(path, content);
string content = Tools.FileSystem.ReadAllText(path);
Tools.FileSystem.DeleteFile(path);
var files = Tools.FileSystem.GetFiles(directory, pattern);Network utilities, IP operations, connectivity.
bool online = Tools.Network.IsInternetAvailable();
string publicIP = Tools.Network.GetPublicIPAddress();
bool reachable = Tools.Network.IsPingable(host);
var addresses = Tools.Network.GetLocalIPAddresses();URL parsing, encoding, manipulation.
string encoded = Tools.Url.EncodeUrl(url);
string decoded = Tools.Url.DecodeUrl(encoded);
string query = Tools.Url.BuildQueryString(parameters);
var uri = Tools.Url.ParseUrl(urlString);Email utilities, composition, validation.
bool isValid = Tools.Mail.IsValidEmail(email);
Tools.Mail.SendEmail(to, subject, body);
var message = Tools.Mail.CreateMessage(from, to, subject, body);Lambda expression utilities and manipulation.
var property = Tools.Lambda.GetPropertyName(() => obj.Property);
var method = Tools.Lambda.GetMethodName(() => obj.Method());LINQ expression building and manipulation.
var predicate = Tools.Expression.BuildPredicate<T>(field, value);
var combined = Tools.Expression.CombinePredicates(expr1, expr2);Generic operator invocation without reflection overhead.
var sum = Tools.Operator.Add(a, b);
var product = Tools.Operator.Multiply(x, y);
bool less = Tools.Operator.LessThan(a, b);JSON serialization, parsing, transformation.
string json = Tools.Json.Serialize(obj);
var deserialized = Tools.Json.Deserialize<MyType>(json);
var pretty = Tools.Json.PrettyPrint(json);XML parsing, serialization, transformation.
string xml = Tools.Xml.Serialize(obj);
var deserialized = Tools.Xml.Deserialize<MyType>(xml);
var document = Tools.Xml.ParseXml(xmlString);Threading utilities, synchronization, async helpers.
Tools.Thread.Sleep(milliseconds);
Tools.Thread.RunOnThreadPool(action);
var task = Tools.Thread.RunAsync(asyncFunc);
Tools.Thread.WaitAll(tasks);Runtime environment, version detection, diagnostics.
string version = Tools.Runtime.GetFrameworkVersion();
bool is64Bit = Tools.Runtime.Is64BitProcess();
string osName = Tools.Runtime.GetOperatingSystem();
var processorCount = Tools.Runtime.GetProcessorCount();Debug-time utilities and diagnostics.
bool attached = Tools.Debugger.IsDebuggerAttached();
Tools.Debugger.Break();
Tools.Debugger.Log(message);Exception handling, formatting, analysis.
string message = Tools.Exception.FormatException(ex);
var innerMost = Tools.Exception.GetInnerMostException(ex);
Tools.Exception.LogException(ex);Transactional scope management and lifecycle.
using var scope = Tools.Scope.CreateScope() {
// transactional operations
scope.Commit();
}Object operations, cloning, copying, inspection.
object clone = Tools.Object.Clone(source);
Tools.Object.CopyProperties(source, target);
string description = Tools.Object.ToDebugString(obj);Span and memory utilities for high-performance code.
Span<byte> data = Tools.Span.AllocateSpan(size);
Tools.Span.CopySpan(source, destination);Windows-specific operations: registry, services, events, privileges.
// Registry operations
bool exists = Tools.WinTool.KeyExists(hostname, keyPath);
var key = Tools.WinTool.OpenKey(hostname, keyPath);
var subkeys = Tools.WinTool.GetSubKeys(hostname, keyPath);
// Service management
bool running = Tools.WinTool.IsServiceRunning(serviceName);
Tools.WinTool.StartService(serviceName);
Tools.WinTool.StopService(serviceName);
var status = Tools.WinTool.GetServiceStatus(serviceName);
// Privileges and security
bool modified = Tools.WinTool.ModifyState(tokenHandle, "SeRestorePrivilege", true);
// Bit operations
ushort hiword = Tools.WinTool.HIWORD(data);
ushort loword = Tools.WinTool.LOWORD(data);
int wheelDelta = Tools.WinTool.GET_WHEEL_DELTA_WPARAM(data);
// Virtual key mapping
Key key = Tools.WinTool.VirtualKeyToKey(virtualKeyCode);Advanced Windows shell operations.
// ShortCut creation
Tools.WinShell.CreateShortcutForApplication(
executable,
shortcutPath,
arguments
);
string shortcutPath = Tools.WinShell.DetermineStartupShortcutFilename(appName);WinForms-specific utilities.
// Drawing utilities
Color lightDark = Tools.DrawingTool.CalculateLightDarkColor(baseColor, factor);HTML generation, parsing, manipulation.
string sanitized = Tools.Web.Html.SanitizeHtml(userHtml);
string encoded = Tools.Web.Html.EncodeHtml(text);
var dom = Tools.Web.Html.ParseHtml(htmlString);ASP.NET Core integration.
var result = Tools.Web.AspNetCore.CreateResponse(data);
var error = Tools.Web.AspNetCore.CreateErrorResponse(message);
string animationClass = Tools.Web.AspNetCore.GetAnimationClass(animation, delay);HTTP downloads and streaming.
byte[] data = Tools.Web.Downloader.Download(url);
Tools.Web.Downloader.DownloadToFile(url, filePath);iOS-specific utilities.
UIViewController topMost = Tools.iOSTool.GetTopMostController();
nfloat keyboardHeight = Tools.iOSTool.GetKeyboardHeight(view, notification);
UIImage image = Tools.iOSTool.EmbeddedImage(imageName);Android-specific utilities (as available).
// Android-specific operationsOrganized by database provider:
Generic database operations.
var connection = Tools.Data.CreateConnection(connectionString);
var adapter = Tools.Data.CreateDataAdapter(connection);SQLite-specific utilities.
var connection = Tools.Sqlite.Create(connectionString, pageSize);
Tools.Sqlite.Drop(Tools.Sqlite.GetFilePathFromConnectionString(connStr));
bool exists = Tools.Sqlite.Exists(connectionString);SQL Server-specific utilities.
var adapter = Tools.MSSQL.CreateAdapter(connectionString);
var connection = Tools.MSSQL.CreateConnection(connectionString);Firebird database utilities.
var connection = Tools.Firebird.CreateConnection(connectionString);NHibernate ORM integration.
var session = Tools.NHibernate.CreateSession(configuration);
var query = Tools.NHibernate.CreateQuery<T>(session);Configuration and settings management.
var value = Tools.Config.Get<T>(key);
Tools.Config.Set(key, value);
bool exists = Tools.Config.KeyExists(key);NUnit testing utilities.
string grid = Tools.NUnit.Convert2DArrayToString(name, array);Graphics and drawing operations.
Color lighter = Tools.DrawingTool.CalculateLightDarkColor(baseColor, 0.1f);
var resized = Tools.DrawingTool.Resize(image, newWidth, newHeight);using Tools; // Import global Tools namespace
// Start typing Tools. and IntelliSense shows all available operations
Tools.Crypto.
Tools.Text.
Tools.FileSystem.
Tools.Collection.var result = Tools.Collection
.Where(items, x => x.IsActive)
.Select(x => x.Name)
.OrderBy(x => x)
.ToList();#if WINDOWS
Tools.WinTool.StartService("MyService");
#elif IOS
var topmost = Tools.iOSTool.GetTopMostController();
#endiftry {
var result = Tools.Parse.ToInt32(input);
} catch (Exception ex) {
string formatted = Tools.Exception.FormatException(ex);
Tools.Debugger.Log(formatted);
}When creating a new project in Sphere10 Framework, add a Tools class to the Tools namespace:
- File:
[Feature]Tool.cs(e.g.,MyFeatureTool.cs) - Class:
[Feature]Tool(e.g.,MyFeatureTool) - Namespace:
ToolsorTools.[Domain](e.g.,Tools.Web,Tools.Database)
// File: MyFeatureTool.cs
namespace Tools;
/// <summary>
/// Tools for [Feature Description]
/// </summary>
public static class MyFeatureTool {
/// <summary>
/// [Operation description]
/// </summary>
public static TResult MyOperation<T, TResult>(T input) {
// Implementation
}
/// <summary>
/// [Another operation]
/// </summary>
public static void AnotherOperation(string parameter) {
// Implementation
}
}- Add
[Feature]Tool.csto your project - Use
namespace Tools;(orTools.[Domain]) - Add static methods for related operations
- Update project README to list available tools
- Document in the global docs/Tools-Reference.md file
- Sphere10.Framework README – Architecture and project overview
- Code Styling Guide – Conventions for Tools implementations
- Individual project READMEs – Domain-specific tool documentation
Version: 3.0.0
Last Updated: December 31, 2025
Framework: Sphere10 Framework