Before C# 11, passing types to attributes was messy ([Service(typeof(IUser))]). Now you can use generics.
public class ServiceAttribute: Attribute where T : class { } [ServiceAttribute ] public class MyRepo { ... }
It’s type-safe, cleaner, and allows for better IDE support and refactoring.
