public static T GetService<T>(this IServiceProvider provider) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } return (T)provider.GetService(typeof(T)); }
public static object GetRequiredService(this IServiceProvider provider, Type serviceType) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } if (serviceType == null) { throw new ArgumentNullException(nameof(serviceType)); } var requiredServiceSupportingProvider = provider as ISupportRequiredService; if (requiredServiceSupportingProvider != null) { return requiredServiceSupportingProvider.GetRequiredService(serviceType); } var service = provider.GetService(serviceType); if (service == null) { throw new InvalidOperationException(Resources.FormatNoServiceRegistered(serviceType)); } return service; }
public static T GetRequiredService<T>(this IServiceProvider provider) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } return (T)provider.GetRequiredService(typeof(T)); }
原文:https://www.cnblogs.com/sunpan/p/14238805.html