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" />
paket add MikValSor.ImmutableValidator --version 1.0.11
#r "nuget: MikValSor.ImmutableValidator, 1.0.11"
// 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
Library for validating that .NET types are immutable.
Nuget package: https://www.nuget.org/packages/MikValSor.ImmutableValidator
Example:
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}");
}
/**
Output:
Is myObject immutable: False
Is myOtherObject immutable: True
**/
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETFramework 4.5
- System.Runtime.Caching (>= 4.5.0)
-
.NETStandard 2.0
- System.Runtime.Caching (>= 4.5.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on MikValSor.ImmutableValidator:
Package | Downloads |
---|---|
MikValSor.EnsuredImmutable
Package Description |
|
MikValSor.ImmutableStore
Library for storage of immutable .Net types. |
GitHub repositories
This package is not used by any popular GitHub repositories.
v1.0.11
- Small changes on exception constructors
- Better and more documentation
v1.0.10
- Added ImmutableValidatorIgnoreAttribute
- Improvements to exceptions and made the serializable.
- Fixed inheritances bug in InstancePropertyValueNotImmutableException
v1.0.9
- Added method overload for simple types and enum.
- Added singelton instance of ImmutebleValidator.
- Added Extension methods for IsImmutable on object.
v1.0.8
- Added missing net45 inline documentation output.
v1.0.7
- Fixed bug where reuse of validator coused wrong results.
- Better exception output of validation.
- Removed Framework 4.7.1 output.
v1.0.6
- Upgraded to allow for new version of ImmutableCollection and faster execution.
v1.0.5
- Fixed MikValSor.Immutable.ImmutableCollection instance validation bug.
v1.0.4
- Added support for MikValSor.Immutable.ImmutableCollection.
v1.0.3
- Added .NET Framework 4.5 output
- Better commenting.
v1.0.2
- Fixed bug where targetType null returned true.
- Added missing documentation output in release.
- Added better exception documentation.
- Changer incorect filename of NotImmutableException
v1.0.1
- Fixed bug where enums reported as not immutable.
- Fixed bug where when validation null and type of null threw exception.
v1.0.0
- Initial release.