Marqdouj.CLRCommon
8.10.1
Prefix Reserved
dotnet add package Marqdouj.CLRCommon --version 8.10.1
NuGet\Install-Package Marqdouj.CLRCommon -Version 8.10.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Marqdouj.CLRCommon" Version="8.10.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Marqdouj.CLRCommon" Version="8.10.1" />
<PackageReference Include="Marqdouj.CLRCommon" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Marqdouj.CLRCommon --version 8.10.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Marqdouj.CLRCommon, 8.10.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Marqdouj.CLRCommon@8.10.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Marqdouj.CLRCommon&version=8.10.1
#tool nuget:?package=Marqdouj.CLRCommon&version=8.10.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
CLRCommon
CLRCommon is a collection of helper utilities and classes for .NET development.
NuGet Package
The NuGet package can be found here
Demo
- A demo of this and some of my other NuGet packages can be found here
Features
- Enum
EnumList
. Manages a list of Enum (no duplicates)
- ExceptionExtensions
ToMessage()
. Resolves all messages recursively. Returns a joined string (optional separator).ToList()
. Resolves all messages recursively. Returns a list of messages.
FloatingPointExtensions
ToStringFormat()
. Converts afloat
,double
, ordecimal
to a string with the option to truncate the decimal places if the value is a whole number (i.e. 1.00 becomes 1).
- ListExtensions
ToDataTable()
. Converts a list of objects to a System.Data.DataTable.
- ObjectExtensions
IsNumber()
. Checks if the underlying type code is a number.
- MinMaxN
INumber
that is constrained between a minimum and maximum value.- Provides a
StringValue
property to convert strings to/from the underlying INumber
- Paging
PagedData
- a class to hold the results for paged dataPagedRange
- a class to calculate a range of pagesPageInfo
- a class to hold paging information
- PathExtensions
- Helper method to resolve a folder locations not supported by Environment.GetFolderPath
- Currently only the
Downloads
folder is supported
- Currently only the
- Helper method to resolve a folder locations not supported by Environment.GetFolderPath
- StateContainer
- Notifcations when a value changes (StateChanged).
- Supports
INotifyPropertyChanged
andAction
(Blazor)
- StringExtensions
IsNumeric
- determines if a string is numericIsPositiveInteger
- determines if a string is a positive integerLeft
- returns the leftmost characters of a string (Mimics VB's Left function))Right
- returns the rightmost characters of a string (Mimics VB's Right function))ToBoolOrNull
- converts a string to a Boolean or null (supports Y/N, YES/NO, 1/-1))ToCrLf
- Takes a string and converts its line endings to CrLfToDecimal
- converts a string to a decimalToDecimalOrNull
- converts a string to a decimal or nullToDecimalOrValue
- converts a string to a decimal or a specified default valueToDouble
- converts a string to a doubleToDoubleOrNull
- converts a string to a double or nullToDoubleOrValue
- converts a string to a double or a specified default valueToInt32
- converts a string to an integerToInt32OrNull
- converts a string to an integer or nullToInt32OrValue
- converts a string to an integer or a specified default valueToInt32List
- converts a delimited string to a list of integersToInt64
- converts a string to a longToInt64OrNull
- converts a string to a long or nullToInt64OrValue
- converts a string to a long or a specified default valueToInt64List
- converts a delimited string to a list of longsToNewLine
- Converts line endings to Environment.NewLineToTitleCase
- converts a string to title case using a specified culture (wrapper for TextInfo.ToTitleCase))Truncate
- truncates a string to a specified length
- StringExtensions (Lists)
ToInt32List
- Converts delimited string of integer to Int32 ListToInt64List
- Converts delimited string of long to Int64 List
Release Notes
v8.10.1
ObjectExtensions.IsNumber()
. Enhanced withINumber<T>
.IsAssignableFrom
v8.10.0
StateContainer
.- Added the
SetValueB
virtual method. Returns true if the value was changed. - Changed
SetValue
to a virtual method. - Added the static
ValueWillChange
method; a pre-check that the value will be changed by theSetValue
method. May be used for custom scenarios where logic needs to know if the value would have been changed but theSetValue
method will not be invoked.
- Added the
v8.9.3
StateContainer
. Added theCallerMemberName
attribute to invoke bothNotifyStateChanged
andNotifyPropertyChanged
events. This negates the need to supply a property name when manually invoking the methods in a propertyset
. This also allows to provide a different name if required.
v8.9.2
StateContainer
. Added theNotifyChanged
method to invoke bothNotifyStateChanged
andNotifyPropertyChanged
events.
v8.9.1
MinMaxN.StringValue
. Store the constuctor initial value as the default value to be used if the value assigned toStringValue
can't be converted to the underlying INumber
v8.9.0
- added
MinMaxN.StringValue
. Normally used for html text input components that support numbers, i.e. FluentTextField
v8.8.8
- added
ObjectExtensions.IsNumber()
v8.8.7
- added
FloatingPointToStringFormatOptions
toFloatingPointExtensions.ToStringFormat()
v8.8.6
- added
Floating Point
(decimal, double, float)ToStringFormat()
extension method.
v8.8.5
- added
EnumList.ToNames()
method. Returns an ordered list of item names.
v8.8.4
- added
EnumList
- added null check before adding column in ToDataTable
v8.8.3
- added optional
separator
toException.ToMessage()
extension.
v8.8.2
- override MinMaxN ToString to return the Value
v8.8.1
- added 'SuppressNotifications' flag to StateContainer
v8.8.0
- Added [JsonConstructor] to MinMaxN
v8.7.1
- Added NuGet pkg icon
v8.7.0
- Fixed bug in MinMaxN calculations for Center/Width properties
v8.6.0 (Depreciated)
- added Center/Width properties to MinMaxN
v8.5.0
- MinMaxN
- added MinMaxN tests to project
- added constructor without Value parameter
- added StringExtensions.IsNumeric tests to project
- added support for null strings in StringExtensions.IsNumeric
- added StringExtensions.IsPositiveInteger tests to project
- added support for null strings in StringExtensions.IsPositiveInteger
- Zero is now considered a positive integer in StringExtensions.IsPositiveInteger
v8.4.0
- added StringExtensions tests to project
- found and fixed bug in StringExtensions.ToNewLine
v8.3.0
- refactored StringExtensions.Truncate.
v8.2.1
- removed 'AllowUnsafeBlocks' from project file (not needed)
- added StringExtension Method
- String.ToNewLine - Converts line endings to Environment.NewLine
v8.2.0
- Updated Comments
- added ListExtensions / IEnumerableExtensions
- ToDataTable - converts a list of objects to a DataTable
- added PathExtensions
- GetPath - returns the path of a known folder not supported by Environment.SpecialFolder
- currently only supports Downloads folder
- GetPath - returns the path of a known folder not supported by Environment.SpecialFolder
- added StringExtensions
- added Paging helper class
v8.1.1
- added MinMaxN<T> / INumber<T>: ensures a value is within a min/max range
- added ExceptionExtensions
- ToMessage - returns the message of an exception and all inner exceptions
- ToMessages - returns the message of an exception and all inner exceptions as a list
v8.1.0
- BREAKING CHANGES.
- StateContainer: Changed OnChange to StateChanged; added INotifyPropertyChanged support/PropertyChanged
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated | |
---|---|---|---|
8.10.1 | 132 | 9/11/2025 | |
8.10.0 | 147 | 9/4/2025 | |
8.9.3 | 142 | 9/3/2025 | |
8.9.1 | 149 | 8/31/2025 | |
8.9.0 | 157 | 8/29/2025 | |
8.8.8 | 87 | 8/22/2025 | |
8.8.7 | 150 | 7/26/2025 | |
8.8.6 | 155 | 7/26/2025 | |
8.8.5 | 486 | 7/21/2025 | |
8.8.4 | 142 | 7/17/2025 | |
8.8.3 | 231 | 6/9/2025 | |
8.8.2 | 157 | 3/16/2025 | |
8.8.1 | 145 | 3/16/2025 | |
8.8.0 | 193 | 3/10/2025 | |
8.7.1 | 179 | 3/9/2025 | |
8.7.0 | 190 | 3/9/2025 | |
8.6.0 | 238 | 3/8/2025 | |
8.5.0 | 214 | 3/6/2025 | |
8.4.0 | 224 | 3/6/2025 | |
8.3.0 | 222 | 3/6/2025 | |
8.2.1 | 223 | 3/6/2025 | |
8.2.0 | 111 | 2/24/2025 | |
8.1.1 | 127 | 2/17/2025 | |
8.1.0 | 122 | 2/17/2025 |