# Contravariance

Allowing a broader generic input type to be used where a more specific type is expected.

## What is **Contravariance** in C#?

**Contravariance** — Allowing a broader generic input type to be used where a more specific type is expected.

```csharp
interface IHandler<in T>
{
    void Handle(T value);
}
```

Level: Freelancer · [More C# terms at this level](https://www.ask-codey.com/glossary/subjects/c-sharp/freelancer)

Updated: September 27, 2026

Source: https://www.ask-codey.com/glossary/contravariance
