public AssemblyTypesInfo(Assembly assembly) { Assembly = assembly; Type[] types = assembly.GetTypes(); NameToType = new StringTypeTuple[types.Length]; for (int i = 0; i < types.Length; i++) { Type type = types[i]; NameToType[i] = new StringTypeTuple(type.Name, type); FullNameToType.Add(type.FullName, type); } Types = types; }
public Type FindTypeByName(string name) { Type type; if (!FullNameToType.TryGetValue(name, out type)) { for (int i = 0; i < NameToType.Length; i++) { StringTypeTuple tuple = NameToType[i]; if (tuple.String == name) { return(tuple.Type); } } } return(type); }