SerializationInterceptor 3.1.0

dotnet add package SerializationInterceptor --version 3.1.0                
NuGet\Install-Package SerializationInterceptor -Version 3.1.0                
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="SerializationInterceptor" Version="3.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SerializationInterceptor --version 3.1.0                
#r "nuget: SerializationInterceptor, 3.1.0"                
#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.
// Install SerializationInterceptor as a Cake Addin
#addin nuget:?package=SerializationInterceptor&version=3.1.0

// Install SerializationInterceptor as a Cake Tool
#tool nuget:?package=SerializationInterceptor&version=3.1.0                

This package can be used to intercept attribute param values during serialization/deserialization process.
NOTES: It's thread safe.
IMPORTANT: Use this tool when no other option left. Avoid using it, as it drastically hits the performance due to heavy use of reflection behind the scene. Never use it in combo with NewtonsoftJson, as the memory allocated for dynamically generated types will never get cleaned up, because of NewtonsoftJson holding the references to those types in his internal cache for faster contract-resolve operations. You can use any serializer which does not implement any caching or the caching can be disabled. For more information, go to GitHub wiki page: https://github.com/Dorin-Mocan/SerializationInterceptor/wiki.
LIMITATIONS:
- Fields not supported. Only public non-static props are serialized/deserialized;
- Root type and types of the props must be public(not declared in any non-public types either) and have a default parameterless constructor;
- Only param values of attributes attached to types and properties can be intercepted;
- Not all enumerables supported. Allowed only arrays of any number of dimensions supported by CLR and types from System.Collections.Generic that implement generic ICollection interface;
- Inheritance supported partially. If you have a prop of type X and assign to that prop a value of type Y and Y is a subclass of X, then only props of type X will be serialized/deserialized, those of type Y which are not in X will be ignored;

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • 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
3.1.0 929 12/3/2022
3.0.0 1,114 10/17/2021
2.1.0 821 12/3/2022
2.0.2 815 10/16/2021
2.0.1 854 7/7/2021
2.0.0 770 4/22/2021
1.0.4 779 4/21/2021

Updated license and logo
Small performance improvement