Skip to main content
Any Framework

This tool analyzes method calls to ensure they use named arguments and provides an option to automatically convert positional arguments to named arguments. For example, it can transform `TestMethod(1, 2)` into `TestMethod(x: 1, y: 2)`.

Published
May 17, 2025
1y ago
Total Downloads
2.7K
2,690

Install

dotnet add package Posseth.NamedArguments.AnalyzerAndFixer --version 1.0.1.1

No framework information available.

README

Posseth NamedArguments AnalyzerAndFixer

This is a tool that can be used to analyze and fix named arguments in codebase. It is implemented as a Analyzer and CodeFix provider for Roslyn.

Installation

There should be a NuGet package available for this project.

configuration

How to Configure Settings for NamedArgumentsAnalyzer

OnlyForRecords is a boolean ExcludedMethodNames is a comma-separated list of method names yu want to exclude from the analyzer.

the following list of method names are excluded by default:Where, Select, FirstOrDefault, First, Any, OrderBy, OrderByDescending, GroupBy, ToList, ToArray, Contains, ElementAt, ElementAtOrDefault,IsNullOrEmpty, IsNullOrWhiteSpace

You can configure the OnlyForRecords and ExcludedMethodNames settings using an .editorconfig file. Here's how to do it:

Option 1: Using .editorconfig File

  1. Create or open an .editorconfig file in the root of your solution or project.
  2. Add the following configuration entries:
# Named Arguments Analyzer Configuration
[*.{cs,vb}]

# Configure OnlyForRecords option
dotnet_diagnostic.PNA1000.OnlyForRecords = true  # or false

# Configure ExcludedMethodNames option
dotnet_diagnostic.PNA1000.ExcludedMethodNames = ToString,Equals,GetHashCode

Option 2: Configure in Visual Studio

  1. Right-click on your solution in Solution Explorer
  2. Select Analyze > Configure Code Analysis > For Solution
  3. In the dialog that appears, find your analyzer (PNA1000)
  4. Configure the settings for OnlyForRecords and ExcludedMethodNames

Option 3: Configure in Project File (.csproj) You can also add these settings to your project file:

<PropertyGroup>
  <AnalysisMode>All</AnalysisMode>
</PropertyGroup>
<ItemGroup>
  <EditorConfigFiles Include=".editorconfig" />
</ItemGroup>
<PropertyGroup>
  <AnalyzerConfigFiles Include="$(MSBuildProjectDirectory)\.analyzer.config" />
</PropertyGroup>

Then create a .analyzer.config file with:

is_global = true
PNA1000.OnlyForRecords = true
PNA1000.ExcludedMethodNames = ToString,Equals,GetHashCode

The most common and recommended approach is Option 1 with the .editorconfig file, as it's the standard way to configure analyzer settings in modern .NET projects.

Changes from Previous Version

No structural changes between v1.0.0.1 and v1.0.1.1.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.