Ejemplo n.º 1
0
    public static List <Type> GetTypes(string type_name)
    {
        if (ImmediateWindow.m_Assemblies == null)
        {
            ImmediateWindow.PopulateAssemblyCache();
        }
        List <Type> list = new List <Type>();
        Type        type = null;

        for (int i = 0; i < ImmediateWindow.m_Assemblies.Count; i++)
        {
            Assembly assembly = ImmediateWindow.m_Assemblies[i];
            Type     type2    = assembly.GetType(type_name, false, true);
            if (!(type2 == null))
            {
                type = type2;
                break;
            }
            foreach (Type type3 in assembly.GetTypes())
            {
                if (type3.Name.StartsWith(type_name, true, CultureInfo.InvariantCulture))
                {
                    list.Add(type3);
                }
            }
        }
        if (type != null)
        {
            list.Clear();
            list.Add(type);
        }
        return(list);
    }