CodeJunkie.Metadata.Generator
1.0.0
See the version list below for details.
dotnet add package CodeJunkie.Metadata.Generator --version 1.0.0
NuGet\Install-Package CodeJunkie.Metadata.Generator -Version 1.0.0
<PackageReference Include="CodeJunkie.Metadata.Generator" Version="1.0.0" />
<PackageVersion Include="CodeJunkie.Metadata.Generator" Version="1.0.0" />
<PackageReference Include="CodeJunkie.Metadata.Generator" />
paket add CodeJunkie.Metadata.Generator --version 1.0.0
#r "nuget: CodeJunkie.Metadata.Generator, 1.0.0"
#:package CodeJunkie.Metadata.Generator@1.0.0
#addin nuget:?package=CodeJunkie.Metadata.Generator&version=1.0.0
#tool nuget:?package=CodeJunkie.Metadata.Generator&version=1.0.0
Metadata
CodeJunkie.Metadata is a metaprogramming tool for generating metadata and enabling reflection-like capabilities in ahead-of-time (AOT) environments such as iOS.
Installation
Add the latest versions of [Metadata] and [Metadata Generator] from NuGet to your C# project.
Requirements
- .NET 8 SDK: Ensure your project targets the latest .NET 8 SDK to avoid compiler mismatches (
CS9057warning). Treat this warning as an error to prevent downstream issues.
Example Configuration
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<WarningsAsErrors>CS9057</WarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CodeJunkie.Metadata" Version="x.x.x" />
<PackageReference Include="CodeJunkie.Metadata.Generator" Version="x.x.x" PrivateAssets="all" OutputItemType="analyzer" />
</ItemGroup>
</Project>
Overview
Metadata is a metaprogramming tool that enables C# developers to:
- Generate metadata about types at build time.
- Avoid runtime reflection issues in AOT environments like iOS.
- Power other Code Junkie tools such as [States] and [Seralization].
Key Features
- Registry of all globally visible types.
- Metadata generation for types, attributes, and properties.
- Support for mixins and type hierarchies.
- Optimized for AOT environments.
The Metadata package provides the following features:
- Create a registry of all types visible from the global scope.
- Generate metadata about visible types.
- Track types by id and version.
- Allow types to implement and look up mixins.
- Compute and cache type hierarchies, attributes, and properties.
- Track generic types of properties in a way that enables convenient serialization in AOT environments.
Usage
Introspective Types
Add the [Meta] attribute to a partial class or record to enable metadata generation.
using CodeJunkie.Metadata;
[Meta]
public partial class MyType;
public partial class Container {
[Meta] // Nested types are supported.
public partial class MyNestedType;
}
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
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.1 | 202 | 5/19/2025 |
| 1.0.0 | 442 | 5/19/2025 |
| 0.0.0-devbuild | 427 | 5/19/2025 |
Metadata Generator release.