MikValSor.ImmutableValidator 1.0.11

Install-Package MikValSor.ImmutableValidator -Version 1.0.11
dotnet add package MikValSor.ImmutableValidator --version 1.0.11
<PackageReference Include="MikValSor.ImmutableValidator" Version="1.0.11" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MikValSor.ImmutableValidator --version 1.0.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MikValSor.ImmutableValidator, 1.0.11"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install MikValSor.ImmutableValidator as a Cake Addin
#addin nuget:?package=MikValSor.ImmutableValidator&version=1.0.11

// Install MikValSor.ImmutableValidator as a Cake Tool
#tool nuget:?package=MikValSor.ImmutableValidator&version=1.0.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Library for validating that .NET types are immutable.

Nuget package: https://www.nuget.org/packages/MikValSor.ImmutableValidator


class MyClass
	public string Value;

class MyOtherClass
	public readonly string Value;
	public MyOtherClass(string value)
		Value = value;

void Validate()
	var validator = new MikValSor.Immutable.ImmutableValidator();

	var myObject = new MyClass { Value = "Value" };
	bool isMyObjectImmutable = validator.IsImmutable(myObject);
	System.Console.WriteLine($"Is myObject immutable: {isMyObjectImmutable}");

	var myOtherObject = new MyOtherClass("Value");
	bool isMyOtherObjectImmutable = validator.IsImmutable(myOtherObject);
	System.Console.WriteLine($"Is myOtherObject immutable: {isMyOtherObjectImmutable}");
	Is myObject immutable: False
	Is myOtherObject immutable: True

NuGet packages (2)

Showing the top 2 NuGet packages that depend on MikValSor.ImmutableValidator:

Package Downloads

Package Description


Library for storage of immutable .Net types.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.11 3,504 5/30/2019
1.0.10 612 6/14/2018
1.0.9 710 5/21/2018
1.0.8 706 5/15/2018
1.0.7 599 5/14/2018
1.0.6 562 5/7/2018
1.0.5 606 5/3/2018
1.0.4 593 5/3/2018
1.0.3 648 5/1/2018
1.0.2 598 4/25/2018
1.0.1 578 4/25/2018
1.0.0 579 4/24/2018

- Small changes on exception constructors
- Better and more documentation

- Added ImmutableValidatorIgnoreAttribute
- Improvements to exceptions and made the serializable.
- Fixed inheritances bug in InstancePropertyValueNotImmutableException

- Added method overload for simple types and enum.
- Added singelton instance of ImmutebleValidator.
- Added Extension methods for IsImmutable on object.

- Added missing net45 inline documentation output.

- Fixed bug where reuse of validator coused wrong results.
- Better exception output of validation.
- Removed Framework 4.7.1 output.

- Upgraded to allow for new version of ImmutableCollection and faster execution.

- Fixed MikValSor.Immutable.ImmutableCollection instance validation bug.

- Added support for MikValSor.Immutable.ImmutableCollection.

- Added .NET Framework 4.5 output
- Better commenting.

- Fixed bug where targetType null returned true.
- Added missing documentation output in release.
- Added better exception documentation.
- Changer incorect filename of NotImmutableException

- Fixed bug where enums reported as not immutable.
- Fixed bug where when validation null and type of null threw exception.

- Initial release.