TedToolkit.Annotations.Boxing
2026.7.16.3
dotnet add package TedToolkit.Annotations.Boxing --version 2026.7.16.3
NuGet\Install-Package TedToolkit.Annotations.Boxing -Version 2026.7.16.3
<PackageReference Include="TedToolkit.Annotations.Boxing" Version="2026.7.16.3" />
<PackageVersion Include="TedToolkit.Annotations.Boxing" Version="2026.7.16.3" />
<PackageReference Include="TedToolkit.Annotations.Boxing" />
paket add TedToolkit.Annotations.Boxing --version 2026.7.16.3
#r "nuget: TedToolkit.Annotations.Boxing, 2026.7.16.3"
#:package TedToolkit.Annotations.Boxing@2026.7.16.3
#addin nuget:?package=TedToolkit.Annotations.Boxing&version=2026.7.16.3
#tool nuget:?package=TedToolkit.Annotations.Boxing&version=2026.7.16.3
TedToolkit.Annotations.Boxing
Make intentional value-type boxing visible in C# source. The package includes an analyzer that reports implicit boxing conversions and offers a code fix.
Install
dotnet add package TedToolkit.Annotations.Boxing
No separate analyzer package or configuration is required.
Use
Replace an implicit conversion with Boxer.Box when allocating a boxed value is intentional:
using TedToolkit.Annotations.Boxing;
int count = 42;
object value = Boxer.Box(count);
IComparable comparable = Boxer.Box<IComparable, int>(count);
Nullable values preserve their null state:
int? count = GetCountOrNull();
object? value = Boxer.Box(count);
The call returns the same value represented as an object; it does not avoid the allocation. Its purpose is to make that allocation explicit to readers and the analyzer.
The bundled analyzer reports implicit boxing as TAB201 (Info), and its code fix rewrites the conversion as the appropriate Boxer.Box call.
When to use it
Use Boxer.Box at a boundary that requires a reference type—such as a non-generic API, an interface conversion, or a heterogeneous collection—when the resulting boxing allocation is intentional and acceptable. Do not use it merely to silence a diagnostic: prefer a generic API or another allocation-free design when boxing is avoidable.
This package has no public annotation attributes; its public contract is the Boxer.Box API.
Compatibility
Targets .NET 6.0 through .NET 10.0, .NET Framework 4.7.2 and 4.8, and .NET Standard 2.0 and 2.1.
Related documentation
License
Licensed under the GNU Lesser General Public License v3.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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 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 is compatible. 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- No dependencies.
-
.NETFramework 4.8
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net10.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.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 |
|---|---|---|
| 2026.7.16.3 | 120 | 7/16/2026 |
| 2026.7.16.2 | 101 | 7/16/2026 |
| 2026.7.16.1 | 101 | 7/16/2026 |
| 2026.7.16 | 110 | 7/16/2026 |