[Home](../../) › [Metalama](../../metalama) › [Use Cases](../applications.md) › [Applications](classics.md) › Object Services

# Object Services

> Learn how to use Metalama to generate common object-oriented services like deep cloning or ToString.

Canonical: https://postsharp.net/metalama/applications/object-services.html

Metalama can generate code for the common services you often need to add in class hierarchies to override their system implementations. While not as fancy as design patterns, they still contribute significantly to boilerplate code and potential defects.

| Service | How Metalama can help |
|---------|-----------------------|
| [Cloning](https://postsharp.net/metalama/applications/cloning) | Automatically implements `ICloneable`, eliminating repetitive code and reducing errors. |
| [ToString](https://postsharp.net/metalama/applications/tostring) | Generates the `ToString` method based on the type properties, with opt-in or opt-out strategies. |
| [Equatable](https://postsharp.net/metalama/applications/equatable) | Implements the equality comparison pattern, allowing you to select the members that are part of the contract. |

---

## Site navigation

- Previous: [UI Patterns](ui.md)
- Next: [Defensive Programming](contracts.md)
- Index of the whole site: [llms.txt](../../llms.txt)

