Esempio n. 1
0
        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
        }
Esempio n. 2
0
        private static IMessageHandler CreateMessageHandler(string assemblyName, string type)
        {
            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)));
            }
#if NETSTANDARD
            return((IMessageHandler)Activator.CreateInstance(TypeResolver.Load(assemblyName, type)));
#else
            return((IMessageHandler)Activator.CreateInstance(AppDomain.CurrentDomain.Load(assemblyName).GetType(type)));
#endif
        }