Fuxion.Analyzers.Abstractions
10.0.3
dotnet add package Fuxion.Analyzers.Abstractions --version 10.0.3
NuGet\Install-Package Fuxion.Analyzers.Abstractions -Version 10.0.3
<PackageReference Include="Fuxion.Analyzers.Abstractions" Version="10.0.3" />
<PackageVersion Include="Fuxion.Analyzers.Abstractions" Version="10.0.3" />
<PackageReference Include="Fuxion.Analyzers.Abstractions" />
paket add Fuxion.Analyzers.Abstractions --version 10.0.3
#r "nuget: Fuxion.Analyzers.Abstractions, 10.0.3"
#:package Fuxion.Analyzers.Abstractions@10.0.3
#addin nuget:?package=Fuxion.Analyzers.Abstractions&version=10.0.3
#tool nuget:?package=Fuxion.Analyzers.Abstractions&version=10.0.3
Fuxion.Analyzers.Abstractions
Attribute definitions for Fuxion Roslyn analyzers.
?? Installation
dotnet add package Fuxion.Analyzers.Abstractions
?? What's Included
This package contains only the attribute definitions used by Fuxion analyzers:
[RequiresNotNull]- Marks properties/methods that throw when accessed with null[HasMembersRequiringNotNull]- Marks types containing members that require non-null (workaround for extension members)
?? Usage Scenarios
Scenario 1: Using with Fuxion (Automatic)
If you install Fuxion, you automatically get this package transitively:
<PackageReference Include="Fuxion" Version="1.0.0" />
Scenario 2: Using Analyzers Only
If you want to use Fuxion analyzers without the full Fuxion runtime:
<PackageReference Include="Fuxion.Analyzers" Version="1.0.0" />
You get:
- ? Analyzer attributes (this package)
- ? Compile-time checks (Fuxion.Analyzers)
- ? NO Fuxion runtime (~500KB saved)
Scenario 3: Your Own Library
Mark your own members with null-safety attributes:
using Fuxion.Analyzers;
public class MyClass
{
private string? _value;
[RequiresNotNull]
public string Value
{
get => _value ?? throw new ArgumentNullException();
set => _value = value;
}
}
Users of your library will get FX001 warnings if they have Fuxion.Analyzers installed.
?? Attributes
[RequiresNotNull]
Indicates a member throws ArgumentNullException when accessed with null.
Targets: Properties, Methods
Example:
[RequiresNotNull]
public string Name { get; set; }
[HasMembersRequiringNotNull]
Indicates a type contains members that require non-null (workaround for C# 14 extension members).
Targets: Classes, Structs
Example:
[HasMembersRequiringNotNull("Pod", "Json")]
public class FuxionExtensions<T> where T : notnull
{
public T Value { get; }
}
?? Related Packages
Fuxion- Full runtime library (includes this package)Fuxion.Analyzers- Roslyn analyzers (references this package)
?? Documentation
?? Feedback
Open an issue for bugs or suggestions.
| Product | Versions 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 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 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. 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.
-
.NETStandard 2.0
- No dependencies.
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Fuxion.Analyzers.Abstractions:
| Package | Downloads |
|---|---|
|
Fuxion
Fuxion library with built-in Roslyn analyzers for compile-time safety checks |
|
|
Fuxion.AspNetCore
Fuxion library for Asp.Net Core. |
|
|
Fuxion.EntityFrameworkCore
Fuxion library with extensions for Entity Framework Core. |
|
|
Fuxion.AspNet
Fuxion library for Asp.Net |
|
|
Fuxion.EntityFramework
Fuxion library with extensions for EntityFramework. |
GitHub repositories
This package is not used by any popular GitHub repositories.