Example #1
0
        public Type ResolveReflectiveType(ITypeDefOrRef type)
        {
            var loadedAssemblies = sandboxDomain
                                   .GetAssemblies();
            var asm = loadedAssemblies
                      .FirstOrDefault(x => x.FullName == type.DefinitionAssembly.FullName);

            if (asm == null)
            {
                /* Load assembly */
                if (!OnExternalAssemblyLoad?.Invoke(null, type.DefinitionAssembly) ?? true)
                {
                    return(null);
                }
                asm = sandboxDomain.Load(type.DefinitionAssembly.FullName);
            }

            return(asm.GetType(type.ReflectionFullName));;
        }
 private bool Emulator_OnExternalAssemblyLoad(FacelessAssembly sender, IAssembly assemblyToLoad)
 {
     return(OnExternalAssemblyLoad?.Invoke(this, assemblyToLoad) ?? true);
 }