private static IMessageHandler CreateMessageHandler(string assemblyName, string type) { #if SSHARP if (!assemblyName.EndsWith(".dll", StringComparison.InvariantCultureIgnoreCase)) { assemblyName += ".dll"; } return((IMessageHandler)Activator.CreateInstance(Assembly.LoadFrom(assemblyName).GetType(type))); #else #if NETSTANDARD foreach ( var assembly in from assembly in TypeResolver.GetAssemblies() let name = assembly.GetName().Name where string.Compare(name, assemblyName, StringComparison.OrdinalIgnoreCase) == 0 select assembly) { return((IMessageHandler)Activator.CreateInstance(assembly.GetType(type))); } return((IMessageHandler)Activator.CreateInstance(TypeResolver.Load(assemblyName, type))); #else foreach (var assembly in from assembly in AppDomain.CurrentDomain.GetAssemblies() let name = assembly.GetName().Name where string.Compare(name, assemblyName, StringComparison.OrdinalIgnoreCase) == 0 select assembly) { return((IMessageHandler)Activator.CreateInstance(assembly.GetType(type))); } return((IMessageHandler)Activator.CreateInstance(AppDomain.CurrentDomain.Load(assemblyName).GetType(type))); #endif #endif }
private static IMessageHandler CreateMessageHandler(string assemblyName, string type) { #if NET471 foreach (var assembly in from assembly in AppDomain.CurrentDomain.GetAssemblies() let name = assembly.GetName().Name where string.Compare(name, assemblyName, StringComparison.OrdinalIgnoreCase) == 0 select assembly) { return((IMessageHandler)Activator.CreateInstance(assembly.GetType(type))); } return((IMessageHandler)Activator.CreateInstance(AppDomain.CurrentDomain.Load(assemblyName).GetType(type))); #else foreach (var assembly in from assembly in TypeResolver.GetAssemblies() let name = assembly.GetName().Name where string.Compare(name, assemblyName, StringComparison.OrdinalIgnoreCase) == 0 select assembly) { return((IMessageHandler)Activator.CreateInstance(assembly.GetType(type))); } return((IMessageHandler)Activator.CreateInstance(TypeResolver.Load(assemblyName, type))); #endif }