Welcome to the documentation of Metalama, a code generation and analysis framework for C#.
How to navigate this documentation
There are two types of Metalama users:
- If you're using aspects written by others, start with Using Metalama.
- If you're developing your own aspects, start with Getting started with Metalama for a quick overview, then move to Using Metalama and continue to Creating simple aspects.
Each article has a complexity level: 100, 200, or 300, following the U.S. school system. Before reading a level 200 article, make sure you understand level 100. We avoid adding complex details to basic-level articles. You may need to read several articles to get comprehensive information on a topic.
Documentation structure
| Book | Description |
|---|---|
| Getting started with Metalama | A quick "Hello, world" walkthrough showing how to create a logging aspect and apply a simple architecture validation rule. |
| Conceptual documentation | Comprehensive reference documentation. |
| Commented examples | Commented examples with varying complexity. |
| Metalama API | API documentation generated from source code. |
Getting help
If you have any questions, start a discussion on GitHub.
The source code for this documentation (excluding the API documentation) is open-source and hosted at https://github.com/metalama/Metalama.Documentation. You can:
- Open an issue or
- Submit a PR with your proposed improvements.