FastEnumToString 1.1.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package FastEnumToString --version 1.1.0
NuGet\Install-Package FastEnumToString -Version 1.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="FastEnumToString" Version="1.1.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FastEnumToString --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FastEnumToString, 1.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 FastEnumToString as a Cake Addin #addin nuget:?package=FastEnumToString&version=1.1.0 // Install FastEnumToString as a Cake Tool #tool nuget:?package=FastEnumToString&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FastEnumToString
Source Generator generating ToString extension methods for any enums.
Example
From:
namespace Enums
{
public enum Color
{
Red,
Green,
Blue
}
}
namespace Models
{
internal enum Device
{
None = 0,
Phone = 2,
PC = 4,
Monitor = 8
}
}
The followning will be generated:
// <auto-generated />
using Enums;
using Models;
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("FastEnumToString.EnumToStringGenerator", "1.0.2.0")]
public static class EnumStringConverter
{
public static string FastToString(this Color enumValue)
{
return enumValue switch
{
Color.Red => nameof(Color.Red),
Color.Green => nameof(Color.Green),
Color.Blue => nameof(Color.Blue),
_ => throw new ArgumentOutOfRangeException(nameof(enumValue), enumValue, null)
};
}
public static string FastToString(this Device enumValue)
{
return enumValue switch
{
Device.None => nameof(Device.None),
Device.Phone => nameof(Device.Phone),
Device.PC => nameof(Device.PC),
Device.Monitor => nameof(Device.Monitor),
_ => throw new ArgumentOutOfRangeException(nameof(enumValue), enumValue, null)
};
}
}
Configure
<PropertyGroup>
<RootNamespace>FastEnumToString</RootNamespace>
<FastEnumFallbackValue>Default</FastEnumFallbackValue>
</PropertyGroup>
- Default, First means the same: uses the first avalilable enum member in the
switch
's default arm, - Throw means: throwing an
ArgumentOutOfRangeException
There are no supported framework assets in this package.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.CSharp (>= 4.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.