Source Generation

How Intellenum utilizes source generation to create optimized enum code.

Performance Optimization

The reasons why Intellenum is faster than standard enums, including allocation-free lookups and switch expression usage.

Enum Declaration and Initialization

Different ways to define enum members and set their values.

Underlying Types

Understanding the supported underlying types for Intellenum, including custom types, and how they affect enum behavior.

Code Analysis and Safety

How Intellenum’s code analyzers contribute to safe enum usage and prevent common errors.

Methods and Functionality

Explaining Intellenum’s key methods: FromName, TryFromName, FromValue, TryFromValue, List, ToString, and deconstruction.

Serialization and Conversion

Exploring how Intellenum supports serialization with System.Text.Json, Newtonsoft.Json, and integration with Dapper, EFCore, and Linq2Db.

Configuration

Understanding how to configure Intellenum globally and on a per-enum basis for underlying types, conversions, and customizations.

Comparison with Other Libraries

Comparing Intellenum to other libraries like SmartEnum and EnumGenerators, highlighting its advantages and disadvantages.

Advanced Concepts

Delving into topics like hoisting, how Intellenum implements IComparable, and the generation of TryParse methods.

Generated Code Overview

Examining the structure and purpose of the code generated by Intellenum, including switch statements and lookup tables.

Codebase

Learn the codebase to contribute to intellenum