Quick DI Registration

Registering all classes that expose interfaces in one go.

var assembly = AppDomain.CurrentDomain.GetAssemblies()
    .Where(a => a
    .FullName.StartsWith("-----"))
    .First();
    
var classes = assembly.ExportedTypes
    .Where(a => a.FullName.Contains("_Model"));
classes = classes.Union(assembly.ExportedTypes
    .Where(a => a.FullName.Contains("_ViewModel")));
foreach (Type t in classes)
{
    foreach (Type i in t.GetInterfaces())
    {                
        services.AddTransient(i, t);
    }
}
Last updated: 5/23/2019 7:39:35 AM

On this page

Latest Updates

© 0 - 2026 - Mike Brind.
All rights reserved.
Contact me at Mike dot Brind at Outlook.com