1// C# 14 — top-level statements, primary constructors, collection expressions
2using Microsoft.Extensions.DependencyInjection;
3
4var services = new ServiceCollection()
5 .AddSingleton<IGreeter, Greeter>()
6 .BuildServiceProvider();
7
8var greeter = services.GetRequiredService<IGreeter>();
9greeter.Greet(["Alice", "Bob", "World"]);
10
11public interface IGreeter { void Greet(string[] names); }
12
13// Primary constructor — C# 14
14public class Greeter(ILogger<Greeter> logger) : IGreeter
15{
16 public void Greet(string[] names)
17 {
18 foreach (var name in names)
19 logger.LogInformation($"Hello, {name}!");
20 }
21}