コード例 #1
0
        private static Type LookingForType(string name)
        {
            var t = Type.GetType(name);

            if (t != null)
            {
                return(t);
            }
            var asm = RadarUtils.GetReferencingAssemblies();

            foreach (var a in asm)
            {
                t = a.GetType(name);
                if (t != null)
                {
                    return(t);
                }
            }
            return(null);
        }
コード例 #2
0
        internal static Type FindTypeByName(string ATypeName, string ns)
        {
            if (_Types.ContainsKey(ATypeName))
            {
                return(_Types[ATypeName]);
            }
            var assemblies = RadarUtils.GetReferencingAssemblies();

            //Microsoft.Extensions.DependencyModel.DependencyContext.Default.CompileLibraries;
            //System.Runtime.Loader.AssemblyLoadContext.Default.LoadFromAssemblyPath(path)
            foreach (var a in assemblies)
            {
                foreach (var t in a.GetExportedTypes())
                {
                    if (t.Name == ATypeName && t.Namespace == ns)
                    {
                        _Types.Add(ATypeName, t);
                        return(t);
                    }
                }
            }
            return(null);
        }