ReadFileLinesEnumGenerator 1.0.0
dotnet add package ReadFileLinesEnumGenerator --version 1.0.0
NuGet\Install-Package ReadFileLinesEnumGenerator -Version 1.0.0
<PackageReference Include="ReadFileLinesEnumGenerator" Version="1.0.0" />
<PackageVersion Include="ReadFileLinesEnumGenerator" Version="1.0.0" />
<PackageReference Include="ReadFileLinesEnumGenerator" />
paket add ReadFileLinesEnumGenerator --version 1.0.0
#r "nuget: ReadFileLinesEnumGenerator, 1.0.0"
#:package ReadFileLinesEnumGenerator@1.0.0
#addin nuget:?package=ReadFileLinesEnumGenerator&version=1.0.0
#tool nuget:?package=ReadFileLinesEnumGenerator&version=1.0.0
ReadFileLinesEnumGenerator
Overview
This project is a C# source generator designed to automatically generate enum types based on the content of specified text files. Each enum is created using the lines in the provided files, with minimal normalization applied to ensure invalid identifiers are transformed into valid ones.
Requirements
.NET 6 or higher
Project Setup
- Add a reference to this project by modifying your
.csproj
file accordingly. - Specify file path properties in your
.csproj
file for the generator's usage.- Note: File names must have the suffix defined as
.enum.txt
to be compatible with other source generators which also use this property to determine file selection.
- Note: File names must have the suffix defined as
<Project>
<ItemGroup>
<PackageReference Include="ReadFileLinesEnumGenerator" Version="1.0.0">
<OutputItemType>Analyzer</OutputItemType>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
</PackageReference>
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="myEnum.enum.txt" />
</ItemGroup>
</Project>
Usage
using ReadFileLinesEnumGenerator.Generated;
// The 'myEnum' type is automatically defined using the content of the "myEnum.enum.txt" file
// under the ReadFileLinesEnumGenerator.Generated namespace.
// Each line in the file is converted into a valid identifier through minimal normalization.
myEnum selectedEnumValue = myEnum.A_0;
// An extension method is also provided to retrieve the original line.
string originalEnumValue = myEnum.A_0.ToStringValue();
Disclaimer
This project has been developed and tested using JetBrains Rider on macOS Sonoma. Functionality on other environments is not guaranteed. This project is licensed under the MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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 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. net9.0 was computed. 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 was computed. 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. |
-
net6.0
- Microsoft.CodeAnalysis.CSharp (>= 4.12.0)
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 |
---|---|---|
1.0.0 | 127 | 1/7/2025 |