HotRS.Tools.Std
1.0.0
dotnet add package HotRS.Tools.Std --version 1.0.0
NuGet\Install-Package HotRS.Tools.Std -Version 1.0.0
<PackageReference Include="HotRS.Tools.Std" Version="1.0.0" />
paket add HotRS.Tools.Std --version 1.0.0
#r "nuget: HotRS.Tools.Std, 1.0.0"
// Install HotRS.Tools.Std as a Cake Addin
#addin nuget:?package=HotRS.Tools.Std&version=1.0.0
// Install HotRS.Tools.Std as a Cake Tool
#tool nuget:?package=HotRS.Tools.Std&version=1.0.0
HotRS.Tools.Std
Various tools and extensions for .Net Standard 2.1 (Built in VS 2022 with C# 10 syntax)
Follow/Contribute: https://github.com/rkreisel/HotRS.Tools.Std
Categories
Console Application Helper CloseIfNotAborted(int seconds = 60) - closes the application after the defined number of seconds if the user does not press a key.
Extensions
Assembly
GetTextFileFromAssembly(this Assembly asm, string filename)
Collection
IsNullOrEmpty<T>(this IEnumerable<T> source)
Enum Three extensions to simplify using attributes on Enums:
GetEnumDescription<T>(this T value, bool useDisplayIfNoDesc = true, bool useDefaultIfNoDescOrDisplay = true) GetDataType<T>(this T value) GetValueFromDescription<T>(this T value, string description)
Exception Four extensions for Exceptions:
/* Access the normally readonly Data property. Useful for passing detailed information to the "catcher" of the exception. */ SetData<T>(this T source, IDictionary<string, string> data) //Access the normally readonly HelpLink property SetHelpLink<T>(this T source, string helpLink) /* Returns a simple List<Exception> with all the exceptions in the primary exception. */ GetInnerExceptions(this Exception ex) //Returns a list of all the exception messages as a single string AllExceptionMessages<T>(this T source, bool withCR = true)
Object A new custom CheckForNull extension that allows the developer to throw a custom exception of <T> with a custom message
CheckForNull<T>(this object o, string paramName, string message = "")
String A handful of string manipulation extensions:
ToNullableDateTime(this string s) ToNullableInt(this string s) AddCSVInjectionProtection(this string source) RemoveCSVInjectionProtection(this string source) DateStringFromExcelDateString(this string source, string format = null) AppendListToString<T>(this string source, List<T> list, string prefix = ", ")
Helpers
Miscellaneous
Directory
CleanUp(string folder, int hours) EnsurePathExists(string path)
Reflection
GetCurrentMethod()
ZipTools
GetManifest(string fileName) ExtractFile(string zipFileName, string itemPathAndName)
Office Office File Property Helper
/* Gets the extended file properties (Owner, LastUpdatedBy, whatever else is there) */ GetProperties(string fileName)
Testing Two methods that allow unit testing of private methods With the caveat that is is NOT considered Best Practice to test private methods independently....
GetPrivateMethod<T>(T source, string methodName) where T : class GetPrivateMethodAsync<T>(T source, string methodName) where T : class
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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Generic .Net standard version of RK.HotRSTools