---
title: "What is dependency injection (DI)? How is it implemented in C#?"  
description: "What is dependency injection (DI)? How is it implemented in C#?"  
author: "Ravi Vishwakarma"  
published: 2025-06-20  
updated: 2025-06-20  
canonical: https://www.mindstick.com/interview/34264/what-is-dependency-injection-di-how-is-it-implemented-in-c-sharp  
category: "c#"  
tags: ["c#"]  
reading_time: 1 minute  

---

# What is dependency injection (DI)? How is it implemented in C#?

DI is a design pattern that allows objects to receive their dependencies from external sources rather than creating them.

**Benefits**:

- Decouples components
- Improves testability
- Enhances maintainability

**Implementation Example (Manual DI)**:

```cs
public class EmailService {
    public void Send(string msg) => Console.WriteLine("Sent: " + msg);
}

public class Notification {
    private readonly EmailService _emailService;
    public Notification(EmailService service) {
        _emailService = service;
    }

    public void Notify(string msg) => _emailService.Send(msg);
}
```

**In .NET Core**, use built-in DI container via `Startup.cs` or `Program.cs`.

## Answers

### Answer by Ravi Vishwakarma

DI is a design pattern that allows objects to receive their dependencies from external sources rather than creating them.

**Benefits**:

- Decouples components
- Improves testability
- Enhances maintainability

**Implementation Example (Manual DI)**:

```cs
public class EmailService {
    public void Send(string msg) => Console.WriteLine("Sent: " + msg);
}

public class Notification {
    private readonly EmailService _emailService;
    public Notification(EmailService service) {
        _emailService = service;
    }

    public void Notify(string msg) => _emailService.Send(msg);
}
```

**In .NET Core**, use built-in DI container via `Startup.cs` or `Program.cs`.


---

Original Source: https://www.mindstick.com/interview/34264/what-is-dependency-injection-di-how-is-it-implemented-in-c-sharp

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
